Giter Club home page Giter Club logo

data_structure_implementation_examples's Introduction

Data Structure Implementation Examples

  1. Sequence Containers
    1. Vector Implementation Examples
      1. Fixed Capacity
      2. Extendable Capacity
      3. Pointers as Contiguous (was Random-Access) Iterators
      4. Deep vs Shallow copies (move semantics)
    2. Singly Linked List Implementation Examples
      1. Circular with 1 Sentential
      2. Null-Terminated
      3. Forward Iterators
      4. Deep vs Shallow copies (move semantics)
      5. Recursion Examples via an Extended Interface
    3. Doubly Linked List Implementation Examples
      1. Circular with 1 Sentential
      2. Null-Terminated
      3. Bi-Directional Iterators
      4. Deep vs Shallow copies (move semantics)
  2. Container Adapters
    1. Stack Implementation Examples
      1. Over Vector-like containers
      2. Over Array-like Containers
      3. Over List-like containers
      4. Deep vs Shallow copies (move semantics)
    2. Queue Implementation Examples
      1. Over Vector-like containers
      2. Over Array-like Containers
      3. Over List-like containers
      4. Deep vs Shallow copies (move semantics)
  3. Ordered Associative Containers
    1. Binary Search Tree Implementation Examples
    2. AVL Tree Implementation Examples
      1. Bi-Directional Iterators
      2. Deep vs Shallow copies (move semantics)
      3. Recursion Examples via an Extended Interface
  4. Student
    1. class Student is used as the kind of object to store in the above Data Structures
      1. Copy and Move Constructors
      2. Copy and Move Assignment
      3. Instance Attributes
      4. Class Attributes
      5. Three-way Comparison
      6. Life-Span Tracing

Notes:

  1. This repository uses symbolic links. While these links are created when cloning, they are not (as far as I can determine), created if you download a zipped copy of the repository
  2. Windows 10+ users requires a couple extra settings so symbolic links get created and used correctly
    1. Set git config (%USERPROFILE%\.gitconfig) to use symlinks globally with
      1. git config --global core.symlinks true
        or explicitly when cloning with
      2. git clone -c core.symlinks=true <URL>

        I've also set git config (<repository.git\config)) to use symlinks locally with git config --local core.symlinks true for portability hopefully making the above "stick" See Add symlink file as file using Git on Windows
    2. Enable Developer Mode or more narrowly, enable mklink for non-administrators
      In Linux/Unix, the command to create a symbolic link is called ln. The user doesn't need any special privileges to use it. In Windows the equivalent is called mklink. It can be issued from the cmd prompt but the user (normally) needs to be admin with elevated privileges. If you have Windows 10 (or better), and turn on Developer Mode you'll be able to create Symbolic Links without requiring admin privileges. See Enable your device for development and How to Turn On / Off Developer Mode in Windows 10

data_structure_implementation_examples's People

Contributors

tbettens avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.