• Data Structures and Algorithms – C++ Implementation

    Data Structures and Algorithms – C++ Implementation

    BK TP.HCM Ho Chi Minh City University of Technology Faculty of Computer Science and Engineering BK TP.HCM Data Structures and Algorithms – C++ Implementation Huỳnh T n t Email: htdat@cse.hcmut.edu.vn Home Page: http://www.cse.hcmut.edu.vn/~htdat/ .Pointer in C++ Declaration Node *ptr; Create an object ptr = new Node(); A pointer usage printf(“Data in node: %d”, ptr-data); Destroy an object delete ptr; NULL pointer...

     53 p cntp 14/12/2012 453 1

  • CSE Faculty - Chapter 1: Introduction

    CSE Faculty - Chapter 1: Introduction

    What is an algorithm? The logical steps to solve a problem. What is a program? Program = Data structures + Algorithms (Niklaus Wirth) The most common tool to define algorithms. • English-like representation of the code required for an algorithm. Pseudocode = English + Code relaxed syntax being instructions using easy to read basic control structures (sequential, conditional, iterative)

     49 p cntp 14/12/2012 438 2

  • CSE Faculty - Chapter 12

    CSE Faculty - Chapter 12

    Lexicographic Search Trees: Tries Multiway Trees B-Tree, B*-Tree, B+-Tree Red-Black Trees (BST and B-Tree) 2-d Tree, k-d Tree 1 .Basic Concepts 2 .Basic Concepts 3 .Trees

     44 p cntp 14/12/2012 408 2

  • CSE Faculty - Chapter 5 Searching

    CSE Faculty - Chapter 5 Searching

    Sequential Search In an unordered list In an ordered list Binary Search Forgetful Version Recognizing Equality Comparison Tree Linked List vs. Contiguous List .Searching We are given a list of records. Each record is associated with a key. We are given one key (target), and are asked to search the list to find the record(s) whose key is the same as the target. May be more than one record with the same key.

     28 p cntp 14/12/2012 396 2

  • CSE Faculty - Chapter 2 : LIST

    CSE Faculty - Chapter 2 : LIST

    Linear List Concepts List ADT Specifications for List ADT Implementations of List ADT Contiguous List Singly Linked List Other Linked Lists Comparison of Implementations of List Linear List Concepts DEFINITION: Linear List is a data structure where each element of it has a unique successor. element 1 element 2 element 3 .Linear List Concepts (cont.) .Linear List Concepts (cont.) General list: • No restrictions...

     72 p cntp 14/12/2012 391 2

  • Chapter 8 - Heaps

    Chapter 8 - Heaps

    Binary Heap. Min-heap. Max-heap. Efficient implementation of heap ADT: use of array Basic heap algorithms: ReheapUp, ReheapDown, Insert Heap, Delete Heap, Built Heap d-heaps Heap Applications: Select Algorithm Priority Queues Heap sort Advanced implementations of heaps: use of pointers Leftist heap Skew heap Binomial queues

     41 p cntp 14/12/2012 377 2

  • AVL Tree

    AVL Tree

    AVL Tree is: • A Binary Search Tree, • in which the heights of the left and right subtrees of the root differ by at most 1, and • the left and right subtrees are again AVL trees. The name comes from the discoverers of this method, G.M.Adel'son-Vel'skii and E.M.Landis. The method dates from 1962. .Balance factor Balance factor: • left_higher: HL = HR + 1 • equal_height: • right_higher:

     74 p cntp 14/12/2012 365 1

  • CSE Faculty - Chapter 3: STACK (part a)

    CSE Faculty - Chapter 3: STACK (part a)

    Contiguous Stack Applications of Stack .Linear List Concepts LIFO (Stack) .Stack ADT DEFINITION: A Stack of elements of type T is a finite sequence of elements of T, in which all insertions and deletions are restricted to one end, called the top. Stack is a Last In - First Out (LIFO) data structure. Basic operations: • Construct a stack, leaving it empty. • Push an element. • Pop an element. • Top an element.

     31 p cntp 14/12/2012 364 2

  • Chapter 9 - Graph•

    Chapter 9 - Graph•

    A Graph G consists of a set V, whose members are called the vertices of G, together with a set E of pairs of distinct vertices from V. • The pairs in E are called the edges of G. • If the pairs are unordered, G is called an undirected graph or a graph. Otherwise, G is called a directed graph or a digraph. • Two vertices in an undirected graph are called adjacent if there is an edge from the first to the second.

     85 p cntp 14/12/2012 361 2

  • CSE Faculty - Chapter 7 Tree

    CSE Faculty - Chapter 7 Tree

    Subprogram implementation Recursion Designing recursive algorithms Recursion removal Backtracking Examples of backtracking and recursive algorithms: Factorial Fibonacci The towers of Hanoi Eight Queens Problem Tree-structured program: Look-ahead in Game

     90 p cntp 14/12/2012 357 3

  • CSE Faculty - Chapter 3: STACK (part b)

    CSE Faculty - Chapter 3: STACK (part b)

    Reversing data items Ex.: Reverse a list. Convert Decimal to Binary. Brackets Parse. Infix to Postfix Transformation. Evaluate a Postfix Expression. Parsing Ex.: Ex.: Postponement of processing data items Backtracking Ex.: Goal Seeking Problem. Knight’s Tour. Exiting a Maze. Eight Queens Problem. .Reverse a list PROBLEM: Read n numbers, print the list in reverse order. Algorithm ReverseList Pre User supplies numbers. Post The...

     37 p cntp 14/12/2012 354 2

  • CSE Faculty - Chapter 10 Sorting

    CSE Faculty -  Chapter 10 Sorting

    Sorting Divice-andConquer •Natural Merge •Balanced Merge •Polyphase Merge •Insertion •Shell •Selection •Heap •Bubble •Quick •Quick •Merge

     60 p cntp 14/12/2012 350 2

Hướng dẫn khai thác thư viện số