Skip to main content
STAGE - Never been refreshed - Debugging On
 
  • CS201: Elementary Data Structures
    0%

Focus Mode is ON. Click ‘X’ at right bottom to close it.

  • Previous
  • Array-Based Lists
    Course Introduction
    Course Syllabus
    Course Terms of Use
    Unit 1: Abstract Data Types and Arrays in C++
    1.1: Abstract Data Types
    Data Abstraction
    Sort Template with Callback
    Abstract Data Types
    Abstract Data Types in C++
    Standard Template Library
    1.2: Contiguous Implementation
    Arrays
    1.3: Non-Contiguous Implementation
    Memory Allocation in C++
    1.4: Introduction to Memory Pointers
    Pointers in C++
    1.5: Linked Lists
    Singly and Doubly-Linked Lists
    Examples of Linked Lists
    Linked List Programming Exercises
    1.6: Arrays
    Arrays in C
    Additional Features of Arrays
    Representations of Arrays
    Array Programming Exercises
    Unit 1 Assessment
    Unit 1 Assessment
    Unit 2: Introduction to Stacks and Queues
    2.1: Introduction to Lists
    Lists
    2.2: Implementing Lists with Arrays
    Array-Based Lists
    2.3: Overview of Stacks and Queues
    Stacks and Queues
    2.3.1: Introduction to Stacks
    Stacks
    More on Stacks
    Data Structures of Stacks
    The Stack Data Structure
    2.3.2: Introduction to Queues
    Queues
    More on Queues
    Data Structures of Queues
    Unit 2 Assessment
    Unit 2 Assessment
    Unit 3: Pointers and References in C++
    3.1: Review of C-Native Variables
    C Data Types
    Words in Computer Architecture
    3.2: Review of Pointers
    Backtracking Pseudocode
    3.3: Pointing to Memory
    Pointers
    3.4: Pointers for Scalars, Vectors, and Functions
    Everything You Need to Know about Pointers in C
    3.5: Pointers for Arrays
    Memory Allocation
    3.6: Pointer Arithmetic
    C Syntax – Pointers
    3.7: Working with Pointers
    Pointers
    Unit 3 Assessment
    Unit 3 Assessment
    Unit 4: Dynamic Memory Allocation
    4.1: C++ Memory Allocation
    Memory Management
    Dynamic Memory
    4.2: C Memory Allocation
    C Data Structures
    C Pointers and Dynamic Memory Allocation
    4.3: Memory Fragmentation
    Stacks and Heaps
    Allocations and Deallocations
    4.4: C/C++ Based on "Unsafe" Types
    Unsafe Languages
    Unit 4 Assessment
    Unit 4 Assessment
    Unit 5: Linked Stacks, Queues, and Lists
    5.1: Linked Lists
    Linked Lists
    Introduction to Linked Lists
    Other Ways to Use Linked Lists
    Doubly-Linked Lists
    5.2: Linked Stacks
    Linked Stacks
    Implement a Stack using a Linked List
    5.3: Linked Queues
    Linked Queues
    q Module
    Unit 5 Assessment
    Unit 5 Assessment
    Unit 6: Algorithm Efficiency
    6.1: The Importance of Algorithm Efficiency
    Algorithm Efficiency
    Introduction to Efficiency
    6.2: Big-O Analysis
    Big-O
    6.3: Discussions on Algorithm Efficiency
    Algorithm Analysis
    6.4: Measuring Algorithm Efficiency
    Introduction to Algorithms
    6.5: Space-Time Tradeoff
    Space-Time Tradeoff
    Unit 6 Assessment
    Unit 6 Assessment
    Unit 7: Searching and Sorting Algorithms
    7.1: Peak Finding via Vector Search
    Algorithmic Thinking and Peak Finding
    7.2: Models of Computation and Document Distance
    Models of Computation and Document Distance
    7.3: Why Sort? Insertion Sort and Merge Sort
    Insertion Sort and Merge Sort
    Divide and Conquer Methods, Merge Sort, and Exceptions
    7.3.1: Big-O Analysis of Merge and Insertion Sort
    Insertion Sort
    Merge Sort
    7.3.2: Merge and Insertion Sort in C/C++
    Examples of Insertion and Merge Sorts in C++
    7.4: Linear Search
    Linear Search
    7.5: Fibonacci Search
    Fibonacci Search
    7.6: Binary Search, Bubble Sort, and Selection Sorts
    Binary Search, Bubble Sort, and Selection Sort
    Binary Search, Bubble Sort, and Selection Sort in C++
    7.7: Quicksort
    Quicksort and Randomized Algorithms
    Recursive Quicksort in C++
    Non-Recursive Quicksort in C++
    Unit 7 Assessment
    Unit 7 Assessment
    Unit 8: Hash Tables, Graphs, and Trees
    8.1: Hash Tables
    Hashing with Chaining
    Table Doubling and Karp-Rabin
    Open Addressing and Cryptographic Hashing
    Hashing
    8.2: Graphs
    Graphs
    Graphs and Network Flows
    Finding Non-Cyclical Paths between Arbitrary Pairs of Nodes
    8.2.1: Graph Searches
    C Program for Depth-First Search in a Graph
    Breadth-First Search
    8.2.2: Finding Lowest-Cost Paths
    Dijkstra's Algorithm
    Bellman's Algorithm
    8.2.3: Finding a Minimum Spanning Tree
    Minimum Spanning Trees – Kruskal's Algorithm
    Minimum Spanning Trees – Prim's Algorithm
    8.3: Trees
    Trees
    Binary Trees
    Non-Binary Trees
    Unit 8 Assessment
    Unit 8 Assessment
    Study Guide
    CS201 Study Guide
    Course Feedback Survey
    Course Feedback Survey
    Certificate Final Exam
    CS201: Certificate Final Exam
    Proctor-Verified Final Exam
    Archived Materials
  • Next
  • Course Catalog
    • All categories
    Arts & Humanities
    • Art History
    • Communication
    • English
    • Philosophy
    • Catalyst IT Test
    • Business Administration
    • Computer Science
    • English as a Second Language
    Professional Development
    • General Knowledge for Teachers
    Science and Math
    • Biology
    • Chemistry
    • Mathematics
    • Physics
    Social Science
    • Economics
    • Geography
    • History
    • Political Science
    • Psychology
    • Sociology
  • Home
  • Specialization Programs
    Specialization Programs MBA Degree Program
  • Help
    Getting Started Help Center & FAQ
Close
Toggle search input
You are currently using guest access
Log in
Course Catalog Collapse Expand
  • All categories
Arts & Humanities
  • Art History
  • Communication
  • English
  • Philosophy
  • Catalyst IT Test
  • Business Administration
  • Computer Science
  • English as a Second Language
Professional Development
  • General Knowledge for Teachers
Science and Math
  • Biology
  • Chemistry
  • Mathematics
  • Physics
Social Science
  • Economics
  • Geography
  • History
  • Political Science
  • Psychology
  • Sociology
Home Specialization Programs Collapse Expand
Specialization Programs MBA Degree Program
Help Collapse Expand
Getting Started Help Center & FAQ
Expand all Collapse all
  1. CS201: Elementary Data Structures
  2. Unit 2: Introduction to Stacks and Queues
  3. 2.2: Implementing Lists with Arrays
  4. Array-Based Lists

Array-Based Lists

Completion requirements

Read this section, which introduces arrays and then discusses a specific implementation that uses arrays. Do not read the section on linked lists; we will cover them later in the course. 

Contact site support
You are currently using guest access (Log in)
Policies
Get the mobile app
Powered by Moodle


© Saylor Academy 2010-2024 except as otherwise noted. Excluding course final exams, content authored by Saylor Academy is available under a Creative Commons Attribution 3.0 Unported license. Third-party materials are the copyright of their respective owners and shared under various licenses. See detailed licensing information. Saylor Academy®, Saylor.org®, and Harnessing Technology to Make Education Free® are trade names of the Constitution Foundation, a 501(c)(3) organization through which our educational activities are conducted.








Privacy Policy Terms & Conditions

Saylor Academy © 2010-2025 except as otherwise noted. Excluding course final exams, content authored by Saylor Academy is available under a Creative Commons Attribution 3.0 Unported license. Third-party materials are the copyright of their respective owners and shared under various licenses. See detailed licensing information. Saylor Academy®, Saylor.org®, and Harnessing Technology to Make Education Free® are trade names of the Constitution Foundation, a 501(c)(3) organization through which our educational activities are conducted.