Course (2-11) Data Structures in Java
- CHAPTER 0 - BASICS
- 0.1. Design and documentation of algorithms
- 0.1.1. The concepts of state and assertion
- 0.1.2. Specifying a program
- 0.1.3. Divide and conquer
- 0.1.4. Consideration of cases
- 0.1.5. Cycles and invariants
- 0.2. Recursion
- 0.2.1. Basics
- 0.2.2. Structure of a recursive routine
- 0.2.3. Development methodology
- Exercises
- 0.3. Algorithm Analysis
- 0.3.1. Defining the problem
- 0.3.2. Execution time of an algorithm
- 0.3.3. Complexity concept
- 0.3.4. Arithmetic notation O
- 0.3.5. Examples
- 0.3.6. Complexity in space
- 0.3.7. Selection algorithm
- 0.3.8. Complexity of recursive routines
- Exercises
- Cap 0 - Exercises Implemented
- 0.1. Design and documentation of algorithms
- CHAPTER 1 - DESIGN SOFTWARE AND TYPES ABSTRACT
- 1.1. Software engineering
- 1.1.1. Software Lifecycle
- 1.1.2. High quality software
- 1.1.3. Software Architecture
- 1.1.4. Software Reuse: genericity
- 1.2. Abstract data types
- 1.2.1. Motivation and definitions
- 1.2.2. Representation of an abstract object
- 1.2.3. The invariant of a TAD
- 1.2.4. Specifying a TAD
- 1.2.5. Classification of operations
- 1.2.6. Error Handling
- 1.2.7. TAD design methodology
- 1.2.8. Using troubleshooting TAD
- 1.2.9. Genericity: TAD parametric
- Exercises
- 1.3. Design of data structures
- 1.3.1. Relationship abstract object - data structures
- 1.3.2. Basic Considerations
- 1.3.3. Variable length representation
- 1.3.4. Managing redundant information
- 1.3.5. Vs compact representations. comprehensive
- 1.3.6. Physical Planning vs. logical
- 1.3.7. Vs implicit representation. explicit
- 1.3.8. Incorporation of constraints of the problem
- 1.3.9. Data Structures for Matrix TAD
- 1.3.10. TAD as a data structure
- 1.3.11. Persistence scheme
- Exercises
- 1.4. Implementing an ADT operations
- 1.4.1. Scheme implementation in C
- 1.4.2. Documentation
- 1.4.3. Implementation of the genericity
- 1.4.4. TAD interactive tester
- Cap 1 - Deployed Exercises
- 1.1. Software engineering
- CHAPTER 2 - LINEAR STRUCTURES: LISTS
- 2.1. Definitions and Concepts
- 2.2. The List ADT
- 2.3. Examples of use of the TAD
- 2.4. Other interesting operations
- 2.5. Persistence scheme
- 2.6. Some implementations of List ADT
- 2.6.1. Doubly linked structure
- 2.6.2. Vectors
- 2.6.3. Single chain with sentinel
- 2.6.4. Single chain with header
- 2.6.5. Bit-level representation
- 2.6.6. Compact representation of repeated elements
- 2.6.7. Multirrepresentación
- 2.6.8. Comparison Chart
- Exercises
- 2.7. The TAD Ordered List
- 2.8. TAD Implementation Ordered List
- 2.8.1. About the List ADT
- 2.8.2. Structure simply chained
- Exercises
- Cap 2 - Exercises implemented
- CHAPTER 3 - LINEAR STRUCTURES: BATTERIES AND TAILS
- 3.1. Batteries: basic concepts and definitions
- 3.2. The Stack ADT
- 3.3. Examples of use of the Stack ADT
- Exercises
- 3.4. Implementation of Stack ADT
- 3.4.1. Lists
- 3.4.2. Vectors
- 3.4.3. Structure simply chained
- Exercises
- 3.5. Queues: Definitions and basic concepts
- 3.6. The Queue ADT
- 3.7. Examples of use of the Queue ADT
- Exercises
- 3.8. Implementation of the Queue ADT
- 3.8.1. Lists
- 3.8.2. Circular vectors
- Exercises
- 3.9. The Priority Queue ADT
- 3.10. Implementation of Priority Queue ADT
- Exercises
- 3.11. The TAD Round
- Exercises
- 3.12. The TAD Bicola
- Exercises
- Chap 3 - Exercises implemented
- CHAPTER 4 - recursive structures: BINARY TREE
- 4.1. Definitions and Concepts
- 4.2. The TAD Arbin: analyzer for binary trees
- 4.3. Examples of use of the TAD Arbin
- Proposed Exercises
- 4.4. Binary tree traversal
- 4.4.1. Levels Algorithm tour
- 4.4.2. Iterative algorithm tree traversal
- 4.4.3. Reconstruction of a tree from his travels
- Exercises
- 4.5. Algorithmic tree management
- Exercises
- 4.6. Implementation of binary trees
- 4.6.1. Trees simply chained
- 4.6.2. Chaining the parent trees
- 4.6.3. Threaded to the right trees
- 4.6.4. Cursors
- 4.6.5. Sequential representation
- 4.7. Destruction and persistence of binary trees
- 4.7.1. Persistence with cursors
- 4.7.2. Persistence with sequential representation
- 4.7.3. Arbin CAS Destroyer
- Exercises
- 4.8. The TAD ordered binary tree
- 4.8.1. Search process
- 4.8.2. Insertion process
- 4.8.3. Removal process
- Exercises
- 4.9. Balanced ordered binary trees
- 4.9.1. The TAD AVL
- 4.9.2. Data Structures
- 4.9.3. Insertion algorithm
- 4.9.4. Elimination algorithm
- Exercises
- 4.10. The syntax tree TAD
- 4.10.1. Arithmetic expressions in infix
- 4.10.2. Syntax trees
- 4.10.3. The symbol table
- 4.10.4. The TAD Arsin
- Exercises
- Chap 4 - Exercises Implemented
- CHAPTER 5 - recursive structures: TREES N-ARIOS
- 5.1. Motivation
- 5.2. Definitions and Concepts
- 5.3. The TAD ArbolN: analyzer
- 5.4. Examples of use
- Exercises
- 5.5. TAD Implementation ArbolN.
- 5.5.1. Pointing vector
- 5.5.2. Left child - right sibling
- 5.5.3. Dynamic Arrays
- 5.5.4. List of children
- 5.5.5. Implicit Representations
- 5.6. The TAD ArbolN: some modifier and destructive
- 5.6.1. Implementation of vector of pointers
- 5.6.2. Implementation of pointers
- 5.6.3. Implementation of dynamic arrays
- 5.6.4. Implementation of child list
- Exercises
- 5.7. The TAD tree1-2-3: a tree Triarius ordered
- Exercises
- 5.8. The TAD Tree2-3: Triarius ordered balanced tree
- 5.8.1. Definitions and Concepts
- 5.8.2. TAD specification
- 5.8.3. Data Structures
- 5.8.4. Insertion algorithm
- 5.8.5. Elimination algorithm
- Exercises
- 5.9. The TAD Trie: set of words
- Exercises
- 5.10. The TAD Cuadtree: imaging
- Exercises
- 5.11. The TAD AND-OR tree
- Exercises
- 5.12. Game trees
- Exercises
- Ch 5 - Exercises Implemented
- CHAPTER 6 - NONLINEAR STRUCTURES: DIRECTED GRAPHS
- 6.1. Motivation
- 6.2. Definitions and Concepts
- 6.3. The TAD Graph
- 6.4. Paths in a graph
- Exercises
- 6.5. Graph traversal
- 6.5.1. Tour plane on the set of vertices
- 6.5.2. Course in depth
- 6.5.3. Tour levels
- Exercises
- 6.5.4. Tours heuristic
- Exercises
- 6.6. More definitions on graphs
- Exercises
- 6.7. Dijkstra's algorithm
- 6.7.1. Cost of shortest paths
- 6.7.2. Shortest paths
- Exercises
- 6.8. Graph TAD Implementation
- 6.8.1. Adjacency matrices
- 6.8.2. Successors lists
- 6.8.3. Adjacency linked lists
- 6.8.4. Arches lists
- 6.8.5. Implicit Data Structures
- Exercises
- Chap 6 - Exercises implemented
- CHAPTER 7 - STRUCTURES OF SHORTCUT: TABLES HASHING
- 7.1. Motivation
- 7.2. Definitions and Concepts
- 7.3. The TAD Tablah
- 7.4. Tablah TAD Implementation
- 7.4.1. Equivalence classes lists
- 7.4.2. Primary distribution area
- 7.4.3. Blocks with overflow area
- Exercises
- 7.5. Hashing functions
- 7.5.1. Division functions
- 7.5.2. Clipping functions
- 7.5.3. Functions on a gap
Online LIVE Training Programming Course offered by INCAPROG ONLINE - www.incaprog.com - contacto@incaprog.com - Phone : (954) 727-3141