Substring

Duration: 7 min

This video lesson is available to enrolled students.

Return to /learn/BIHAR-POLYTECHNIC-LECTURER-COMPUTER-SCIENCE/paper-2-compiler-design/introduction-to-toc/basics-string-ops/asset-substring after enrolling

Inside: a video lesson and guided study material.

Module outline

  1. Discrete Mathematics: Permutation, Combination and Probability / क्रमचय, संचय एवं प्रायिकता, Set Theory, Relations, Functions, Propositional and Predicate Logic, Graph Theory, Group Theory
  2. Digital Logic: Digital Systems & Boolean Basics, Boolean Expression, Boolean Minimization, Logic Gates & Hardware, Combinational Circuit, Sequential Circuits, Number System, Number Representation, Floating Point Rep
  3. Computer Organization and Architecture: Basics of COA, Programming the Basic Computer, Cache Memory Organization, Input Output Organisation, Instr Formats & Modes, Register Transfer and Microoperations, Control Unit Design, Pipelining, Multiprocessors
  4. Programming: Language Design, C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling, OOPS with C++
  5. Data Structures: Introduction to DS, Array, Linked List, Stack, Queue, Tree, Graphs, Hashing
  6. Algorithms: Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Advanced Algorithms
  7. Theory of Computation: Grammar, Regular Language Properties, Moore & Mealy Machines, Turing Machines
  8. Compiler Design: Intro to Compilers, Lexical Analysis, Grammar & CFG, Syntax Analysis: Top-Down, Syntax Analysis: Bottom-Up, Semantic Analysis & SDT, Intermediate Code Gen, Code Optimization, Run Time Environment, Introduction to TOC, Deterministic FA (DFA), Non-Deterministic FA, Regular Expressions, Pushdown Automata & CFG, Complexity Theory
  9. Operating Systems: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Threads & Process Creation, Deadlock, Memory Management, Virtual Memory, Disc Scheduling, File Management, Unix OS, Linux OS, Security
  10. Database Management Systems: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, SQL, Relational Calculus, Transaction Management, Concurrency Control, ORDBMS, NoSQL
  11. Computer Networks: Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer, Hardware basics, Network Security
AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

The video lecture defines the concept of a substring as a sequence of consecutive symbols within a larger string. The instructor uses the word 'SUBSTRING' to demonstrate valid examples like 'str' and 'sub' versus invalid non-consecutive sequences. He then transitions to calculating the total number of substrings for a specific string, 'GATE', using a tabular method to count substrings by length. This leads to the derivation of a general formula, n(n+1)/2 + 1. Finally, the lecture distinguishes between trivial and non-trivial substrings, providing a formula to calculate the latter by excluding the empty string and the string itself.

Chapters

  1. 0:00 – 2:00 00:00-02:00

    The instructor begins by defining a substring with on-screen text: 'Substring- Any string of consecutive symbols in some string 'w' can be collectively said as a substring.' He gives an example 'w= abab' where substrings include 'ab', 'a', 'ba'. He then presents the string 'S u b s t r i n g' and a numbered list of potential substrings: 1. utg, 2. sbr, 3. rts, 4. str, 5. sub, 6. $\epsilon$. He marks items 1, 2, and 3 with red crosses, explaining they are not consecutive. He marks 4 ('str'), 5 ('sub'), and 6 ($\epsilon$) with checkmarks, confirming they are valid substrings because the characters appear consecutively in the original string.

  2. 2:00 – 5:00 02:00-05:00

    The lecture shifts to a problem: 'Consider a string 'GATE' find the total number of substring possible?'. A table is displayed with columns for substring lengths 0 through 4. The instructor fills the table row by row. For length 0, he writes $\epsilon$ (1 substring). For length 1, he lists G, A, T, E (4 substrings). For length 2, he lists GA, AT, TE (3 substrings). For length 3, he lists GAT, ATE (2 substrings). For length 4, he lists GATE (1 substring). He sums these values: 1 + 4 + 3 + 2 + 1 = 11. He writes the formula for this sum on the board: n(n+1)/2 + 1, circling the result 11 to emphasize the total count.

  3. 5:00 – 6:44 05:00-06:44

    The instructor briefly considers a string 'GGGE' to test the counting method, filling a similar table with counts 1, 2, 2, 2, 1 and writing a 9 next to the sum. He then moves to a slide defining trivial and non-trivial substrings. The text reads: 'If w is any string than empty string $\epsilon$ and the string w itself is called a trivial substring and the remaining of the other are the non-trivial sub string'. He writes the formula for non-trivial substrings on the board as [n(n+1)/2 + 1] - 2, explaining that this subtracts the empty string and the string itself from the total count.

The lesson progresses from a basic definition of substrings to a quantitative analysis of how many exist in a string. By breaking down the problem into lengths and using a table, the instructor derives a general formula. The distinction between trivial and non-trivial substrings adds a layer of complexity, refining the count by excluding the empty string and the full string itself.

Loading lesson…