Skip to content

Data Structure Study : Singly Linked List, Stack, Queue, Tree, BST, Heap, Priority Queue, Graph

Notifications You must be signed in to change notification settings

syoh89/dataStructureStudy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Data Structure Study

Members

  • rolemadelen (Eastern Daylight Time)
  • SeoSeo (Korea Time)

timezone1 timezone2

Topics of Study

  • Singly Linked List
    • Implement (with/without tail pointer)
      • size()
      • isEmpty()
      • pushFront(value)
      • pushBack(value)
      • popFront()
      • popBack()
      • getFront()
      • getBack()
      • reverse()
      • insert(index, value) - 0-based index
    • Know the time complexity for each methods
    • Know the difference between Singly, Doubly and Circular Linked List
    • Know when to use Linked Lists and Arrays
  • Stack | issue
    • Implement using Linked List
      • top()
      • isEmpty()
      • push(value)
      • pop()
    • Know the time complexity for each methods
  • Queue | issue
    • Implement using Linked List
      • getFront()
      • getRear()
      • enqueue(value)
      • dequeue()
    • Implement using fixed-size array
      • getFront()
      • getRear()
      • isEmpty()
      • isFull()
      • enqueue(value)
      • dequeue()
      • What's the limitation of Queue implemented with a fixed-size array?
    • Know the time complexity for each methods
  • Tree
  • Binary Search Tree (BST)
    • Implement
      • insert(value)
      • DFS
        • inorder()
        • preorder()
        • postorder()
      • getMin()
      • getMax()
      • bfs() -- print values in level order
      • existInTree(value)
  • Heap
    • Implement MinHeap
    • Implement MaxHeap
  • Priority Queue
    • no implementation
    • Understand what PQ is.
  • Graph
    • Implement
      • Adjacency List
      • Adjacency Matrix

Problems

Linked List

# Problem Difficulty
2 Add Two Numbers Medium
19 Remove Nth Node From End of List Medium
21 Merge Two Sorted Lists Easy
23 Merge k Sorted Lists Hard
83 Remove Duplicates from Sorted List Easy
141 Linked List Cycle Easy
146 LRU Cache Medium
160 Intersection of Two Linked Lists Easy
203 Remove Linked List Elements Easy
206 Reverse Linked List Easy
234 Palindrome Linked List Easy
237 Delete Node in a Linked List Easy
432 All O`one Data Structure Hard
876 Middle of the Linked List Easy
1206 Convert Binary Number in a Linked List to Integer Easy
1290 Design Skiplist Hard
1669 Merge In Between Linked Lists Medium
2181 Merge Nodes in Between Zeros Medium

Stack

# Problem Difficulty
20 Valid Parentheses Easy
232 Implement Queue using Stacks Easy
234 Palindrome Linked List Easy
1021 Remove Outermost Parentheses Easy
1047 Remove All Adjacent Duplicates In String Easy
1614 Maximum Nesting Depth of the Parentheses Easy
173 Binary Search Tree Iterator Medium
654 Maximum Binary Tree Medium
946 Validate Stack Sequences Medium
1008 Construct Binary Search Tree from Preorder Traversal Medium
1381 Design a Stack With Increment Operation Medium
1441 Build an Array With Stack Operations Medium
1472 Design Browser History Medium
2130 Maximum Twin Sum of a Linked List Medium
726 Number of Atoms Hard
736 Parse Lisp Expression Hard
895 Maximum Frequency Stack Hard
1944 Number of Visible People in a Queue Hard

Queue

# Problem Difficulty
225 Implement Stack using Queues Easy
933 Number of Recent Calls Easy
1700 Number of Students Unable to Eat Lunch Easy
950 Reveal Cards In Increasing Order Medium
1670 Design Front Middle Back Queue Medium
1823 Find the Winner of the Circular Game Medium
2327 Number of People Aware of a Secret Medium
239 Sliding Window Maximum Hard
936 Stamping The Sequence Hard
2444 Count Subarrays With Fixed Bounds Hard

About

Data Structure Study : Singly Linked List, Stack, Queue, Tree, BST, Heap, Priority Queue, Graph

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 59.2%
  • TypeScript 40.4%
  • JavaScript 0.4%