MindMap Gallery Data structure implementation and algorithm analysis
Data structure implementation and algorithm analysis, including arrays, queues, linked lists, recursive ideas, binary search trees, sets, mappings, heaps, priority queues, line segment trees, dictionary trees, union search, balanced trees, red-black balanced number trees, required My friends can pick it up by themselves~
Edited at 2023-03-14 21:27:24One Hundred Years of Solitude is the masterpiece of Gabriel Garcia Marquez. Reading this book begins with making sense of the characters' relationships, which are centered on the Buendía family and tells the story of the family's prosperity and decline, internal relationships and political struggles, self-mixing and rebirth over the course of a hundred years.
One Hundred Years of Solitude is the masterpiece of Gabriel Garcia Marquez. Reading this book begins with making sense of the characters' relationships, which are centered on the Buendía family and tells the story of the family's prosperity and decline, internal relationships and political struggles, self-mixing and rebirth over the course of a hundred years.
Project management is the process of applying specialized knowledge, skills, tools, and methods to project activities so that the project can achieve or exceed the set needs and expectations within the constraints of limited resources. This diagram provides a comprehensive overview of the 8 components of the project management process and can be used as a generic template for direct application.
One Hundred Years of Solitude is the masterpiece of Gabriel Garcia Marquez. Reading this book begins with making sense of the characters' relationships, which are centered on the Buendía family and tells the story of the family's prosperity and decline, internal relationships and political struggles, self-mixing and rebirth over the course of a hundred years.
One Hundred Years of Solitude is the masterpiece of Gabriel Garcia Marquez. Reading this book begins with making sense of the characters' relationships, which are centered on the Buendía family and tells the story of the family's prosperity and decline, internal relationships and political struggles, self-mixing and rebirth over the course of a hundred years.
Project management is the process of applying specialized knowledge, skills, tools, and methods to project activities so that the project can achieve or exceed the set needs and expectations within the constraints of limited resources. This diagram provides a comprehensive overview of the 8 components of the project management process and can be used as a generic template for direct application.
Data Structures and Algorithms
1. Arrays(array),
class:MyArray
method: constructor
method:getSize
method:getCapacity
method: isEmpty
method:resize
method: insert
method:unshift
method: push
method: add
method: get
method:getFirst
method:getLast
method: set
method:contain
method:find
method:findAll
method:remove
method: shift
method:pop
method:removeElement
method:removeAllElement
method:swap
method:toString
2. Stacks(stack),
class:MyStack
method: constructor
method: push
method:pop
method: peek
method:getSize
method: isEmpty
method:getCapacity
method:toString
3. Queues(queue),
class:MyQueue
method: constructor
method:enqueue
method:dequeue
method: getFront
method:getSize
method:getCapacity
method: isEmpty
method:toString
class:MyLoopQueue
method: constructor
method:resize
method:enqueue
method:dequeue
method: getFront
method:getSize
method:getCapacity
method: isEmpty
method:toString
4. LinkedList (linked list),
class:MyLinkedListNode
method: constructor
method:appendToLinkedListNode
method:toString
class:MyLinkedList
method: constructor
method:getSize
method: isEmpty
method:addFirst
method: insert
method:addLast
method: get
method:getFirst
method:getLast
method: set
method:contains
method:remove
method:removeFirst
method:removeLast
method:removeElement
method:toString
5. Recursion (recursive thinking),
class:MyLinkedListStack
method: constructor
method: push
method:pop
method: peek
method:getSize
method: isEmpty
method:toString
class:MyLinkedListQueue
method: constructor
method:enqueue
method:dequeue
method: getFront
method:getSize
method: isEmpty
method:toString
6. BinarySearchTree (binary search tree),
class:MyBinarySearchTreeNode
method: constructor
class:MyBinarySearchTree
method: constructor
method: add
method:recursiveAdd
method:contains
method: recursiveContains
method:maximum
method:recursiveMaximum
method:removeMax
method:recursiveRemoveMax
method:minimum
method:recursiveMinimum
method:removeMin
method:recursiveRemoveMin
method:remove
method:recursiveRemove
method: preOrder
method:recursivePreOrder
method:nonRecursivePreOrder
method:inOrder
method:recursiveInOrder
method:postOrder
method:recursivePostOrder
method:levelOrder
method:getSize
method: isEmpty
method:compare
method:toString
method:getBinarySearchTreeString
method:getDepthString
7. Set(set),
class:MyBinarySearchTreeSet
method: constructor
method: add
method:remove
method:contains
method:each
method:getSize
method: isEmpty
class:MyLinkedListSet
method: constructor
method: add
method:remove
method:contains
method:each
method:getSize
method: isEmpty
8. Map,
class:MyLinkedListMapNode
method: constructor
method:toString
class:MyLinkedListMap
method: constructor
method:getNode
method: add
method:remove
method: get
method: set
method:contains
method:getSize
method: isEmpty
method:toString
class:MyBinarySearchTreeMapNode
method: constructor
method:toString
class:MyBinarySearchTreeMap
method: constructor
method:compare
method:getNode
method: add
method:recursiveAdd
method:remove
method:recursiveRemove
method:maximum
method:removeMax
method: get
method: set
method:contains
method:getSize
method: isEmpty
method:toString
9. Heap (heap),
class:MyMaxHeap
method: constructor
method: add
method:siftUp
method:recursiveSiftUp
method:nonRecursiveSiftUp
method:findMax
method:extractMax
method:siftDown
method:recursiveSiftDown
method: nonRecursiveSiftDown
method:replace
method:heapify
method:swap
method:calcParentIndex
method:calcLeftChildIndex
method:calcRightChildIndex
method:compare
method:size
method: isEmpty
10. PriorityQueue (priority queue),
class:MyPriorityQueue
method: constructor
method:enqueue
method:dequeue
method: getFront
method:getSize
method: isEmpty
method: updateCompare
method:replaceFront
11. SegmentTree (line segment tree),
class:MySegmentTree
method: constructor
method:getSize
method: get
method: buildingSegmentTree
method:query
method:recursiveQuery
method: set
method:recursiveSet
method:calcLeftChildIndex
method:calcRightChildIndex
method:merge
method: updateMerge
method:toString
12. Trie (dictionary tree),
class:MyTrieNode
method: constructor
class: MyTrie
method: constructor
method: add
method:recursiveAdd
method:recursiveAddFn
method:remove
method:recursiveRemove
method:contains
method: recursiveContains
method: recursiveContainsFn
method: isPrefix
method:regexpSearch
method: match
method:getSize
method: isEmpty
class:MyTrieSet
method: constructor
method: add
method:remove
method:contains
method:getSize
method: isEmpty
class:MyTrieNodeUpgrade
method: constructor
class:MyTrieUpgrade
method: constructor
method: add
method: put
method:recursivePut
method:recursivePutFn
method:remove
method:recursiveRemove
method: get
method:getPrefixAll
method: recursiveGetPrefixAllInfo
method: recursiveGetPrefixAllTreeInfo
method:contains
method: recursiveContains
method: recursiveContainsFn
method: isPrefix
method:regexpSearch
method: match
method:getSize
method: isEmpty
class:MyTrieMap
method: constructor
method: add
method: get
method:remove
method:contains
method: set
method:getKeys
method:getValues
method:getSize
method: isEmpty
13. UnionFind (Union Find),
class:MyUnionFind
method: constructor
method: unionElements
method:isConnected
method:getSize
class:MyUnionFindOne
method: constructor
method: unionElements
method:isConnected
method:find
method:getSize
class:MyUnionFindTwo
method: constructor
method: unionElements
method:isConnected
method:find
method:getSize
class:MyUnionFindThree
method: constructor
method: unionElements
method:isConnected
method:find
method:getSize
class:MyUnionFindFour
method: constructor
method: unionElements
method:isConnected
method:find
method:getSize
class:MyUnionFindFive
method: constructor
method: unionElements
method:isConnected
method:find
method:getSize
class:MyUnionFindSix
method: constructor
method: unionElements
method:isConnected
method:find
method:getSize
14. AVLTree (AVL balanced tree),
class:MyAVLTreeNode
method: constructor
method:toString
class:MyAVLTree
method: constructor
method:compare
method:getHeight
method:getBalanceFactor
method:getNode
method:rightRotate
method:leftRotate
method: add
method:recursiveAdd
method:remove
method:recursiveRemove
method:maximum
method:removeMax
method: get
method: set
method:contains
method:getSize
method: isEmpty
method:isBanarySearchTree
method:inOrder
method:getKeys
method:getEntitys
method:isBalanced
method: recursiveIsBalanced
method:toString
class:MyAVLTreeSet
method: constructor
method: add
method:remove
method:contains
method:getSize
method: isEmpty
class:MyAVLTreeMap
method: constructor
method: add
method: get
method:getKeys
method:getEntitys
method:remove
method:contains
method: set
method:getSize
method: isEmpty
15. RedBlackTree (red-black balanced tree),
class:MyRedBalckTreeNode
method: constructor
method:toString
class:MyRedBlackTree
method: constructor
method:isRed
method:leftRotate
method: flipColors
method:rightRotate
method:compare
method:getNode
method: add
method:recursiveAdd
method:remove
method:recursiveRemove
method:maximum
method:removeMax
method: get
method: set
method:contains
method:getSize
method: isEmpty
method:toString
class:MyRedBlackSet
method: constructor
method: add
method:remove
method:contains
method:getSize
method: isEmpty
class:MyRedBlackMap
method: constructor
method: add
method: get
method:remove
method:contains
method: set
method:getSize
method: isEmpty
16. HashTable (hash table)
class:MyHash
method: constructor
method:hashCode
method:calcHashOne
method:calcHashTwo
class:MyHashTableBySystem
method: constructor
method:hash
method:getSize
method: add
method:remove
method: set
method:contains
method: get
class:MyHashTableByAVLTree
method: constructor
method:hash
method:getSize
method: add
method:remove
method: set
method:contains
method: get
method:resize
17. Other auxiliary classes
class:Main
method: constructor
method: show
method: alterLine
class:PerformanceTest
method:testQueue
method:testStack
method:testSet
method:testMap
method:testHeap
method:testUnionFind
method:calcTime
method:testCustomFn
class:ListNode
method: constructor
method:appendToLinkedListNode
method:toString
class: Calc
method: sum
method:tailSum
class:Solution
method:isValid
method:removeElements
method: uniqueMorseRepresentations
method:intersection
method:intersect
method:topKFrequent
method:NumArray
method:NumArray2
method: Trie
method:WordDictionary
method: MapSum
method:firstUniqChar
class:Student
method: constructor
method:hashCode
method: equals
method:getCode
method:toString
Data structure analysis and algorithm implementation: https://github.com/ilovejwl/MaoDataStructures