マインドマップギャラリー データ構造の実装とアルゴリズムの分析
データ構造の実装とアルゴリズム分析 (配列、キュー、リンク リスト、再帰的アイデア、二分探索ツリー、セット、マッピング、ヒープ、優先キュー、線分ツリー、辞書ツリー、和集合検索、平衡ツリー、赤黒平衡数ツリーなど) , 必須 友達が自分で拾ってくれますよ〜
2023-03-14 21:27:24 に編集されましたデータ構造とアルゴリズム
1. 配列(配列)、
クラス:MyArray
メソッド: コンストラクター
メソッド:getSize
メソッド:getCapacity
メソッド: isEmpty
メソッド:サイズ変更
メソッド: 挿入
メソッド:シフト解除
方法: プッシュ
メソッド:追加
メソッド: 取得
メソッド:getFirst
メソッド:getLast
メソッド: セット
メソッド:含む
メソッド:検索
メソッド:すべてを検索
メソッド:削除
方法: シフト
メソッド:ポップ
メソッド:要素の削除
メソッド:すべての要素を削除
メソッド:スワップ
メソッド:toString
2. スタック(スタック)、
クラス:MyStack
メソッド: コンストラクター
方法: プッシュ
メソッド:ポップ
方法: 覗く
メソッド:getSize
メソッド: isEmpty
メソッド:getCapacity
メソッド:toString
3. キュー(キュー)、
クラス:MyQueue
メソッド: コンストラクター
メソッド:エンキュー
メソッド:デキュー
メソッド: getFront
メソッド:getSize
メソッド:getCapacity
メソッド: isEmpty
メソッド:toString
クラス:MyLoopQueue
メソッド: コンストラクター
メソッド:サイズ変更
メソッド:エンキュー
メソッド:デキュー
メソッド: getFront
メソッド:getSize
メソッド:getCapacity
メソッド: isEmpty
メソッド:toString
4. LinkedList(リンクリスト)、
クラス:MyLinkedListNode
メソッド: コンストラクター
メソッド:LinkedListNode に追加
メソッド:toString
クラス:MyLinkedList
メソッド: コンストラクター
メソッド:getSize
メソッド: isEmpty
メソッド:addFirst
メソッド: 挿入
メソッド:addLast
メソッド: 取得
メソッド:getFirst
メソッド:getLast
メソッド: セット
メソッド:含む
メソッド:削除
メソッド:removeFirst
メソッド:最後を削除
メソッド:要素の削除
メソッド:toString
5. リカーション(再帰的思考)、
クラス:MyLinkedListStack
メソッド: コンストラクター
方法: プッシュ
メソッド:ポップ
方法: 覗く
メソッド:getSize
メソッド: isEmpty
メソッド:toString
クラス:MyLinkedListQueue
メソッド: コンストラクター
メソッド:エンキュー
メソッド:デキュー
メソッド: getFront
メソッド:getSize
メソッド: isEmpty
メソッド:toString
6. BinarySearchTree (二分探索木)、
クラス:MyBinarySearchTreeNode
メソッド: コンストラクター
クラス:MyBinarySearchTree
メソッド: コンストラクター
メソッド:追加
メソッド:再帰的追加
メソッド:含む
メソッド: recursiveContains
方法:最大
メソッド:再帰的最大値
メソッド:removeMax
メソッド:recursiveRemoveMax
メソッド:最小値
メソッド:recursiveMinimum
メソッド:removeMin
メソッド:再帰的RemoveMin
メソッド:削除
メソッド:再帰的削除
方法: 事前注文
メソッド:recursivePreOrder
メソッド:nonRecursivePreOrder
メソッド:inOrder
メソッド:recursiveInOrder
メソッド:ポストオーダー
メソッド:recursivePostOrder
メソッド:levelOrder
メソッド:getSize
メソッド: isEmpty
メソッド:比較
メソッド:toString
メソッド:getBinarySearchTreeString
メソッド:getDepthString
7. セット(セット)、
クラス:MyBinarySearchTreeSet
メソッド: コンストラクター
メソッド:追加
メソッド:削除
メソッド:含む
方法:それぞれ
メソッド:getSize
メソッド: isEmpty
クラス:MyLinkedListSet
メソッド: コンストラクター
メソッド:追加
メソッド:削除
メソッド:含む
方法:それぞれ
メソッド:getSize
メソッド: isEmpty
8. 地図、
クラス:MyLinkedListMapNode
メソッド: コンストラクター
メソッド:toString
クラス:MyLinkedListMap
メソッド: コンストラクター
メソッド:getNode
メソッド:追加
メソッド:削除
メソッド: 取得
メソッド: セット
メソッド:含む
メソッド:getSize
メソッド: isEmpty
メソッド:toString
クラス:MyBinarySearchTreeMapNode
メソッド: コンストラクター
メソッド:toString
クラス:MyBinarySearchTreeMap
メソッド: コンストラクター
メソッド:比較
メソッド:getNode
メソッド:追加
メソッド:再帰的追加
メソッド:削除
メソッド:再帰的削除
方法:最大
メソッド:removeMax
メソッド: 取得
メソッド: セット
メソッド:含む
メソッド:getSize
メソッド: isEmpty
メソッド:toString
9. ヒープ (ヒープ)、
クラス:MyMaxHeap
メソッド: コンストラクター
メソッド:追加
メソッド:シフトアップ
メソッド:再帰的SiftUp
メソッド:非RecursiveSiftUp
メソッド:findMax
メソッド:extractMax
メソッド:シフトダウン
メソッド:再帰的SiftDown
メソッド:nonRecursiveSiftDown
メソッド:置換
メソッド:ヒープ化
メソッド:スワップ
メソッド:calcParentIndex
メソッド:calcLeftChildIndex
メソッド:calcRightChildIndex
メソッド:比較
方法: サイズ
メソッド: isEmpty
10. PriorityQueue(プライオリティキュー)、
クラス:MyPriorityQueue
メソッド: コンストラクター
メソッド:エンキュー
メソッド:デキュー
メソッド: getFront
メソッド:getSize
メソッド: isEmpty
メソッド: updateCompare
メソッド:replaceFront
11. SegmentTree(線分ツリー)、
クラス:MySegmentTree
メソッド: コンストラクター
メソッド:getSize
メソッド: 取得
メソッド: セグメントツリーの構築
メソッド:クエリ
メソッド:再帰クエリ
メソッド: セット
メソッド:recursiveSet
メソッド:calcLeftChildIndex
メソッド:calcRightChildIndex
メソッド:マージ
メソッド: updateMerge
メソッド:toString
12. トライ(辞書ツリー)、
クラス:MyTrieNode
メソッド: コンストラクター
クラス: マイトライ
メソッド: コンストラクター
メソッド:追加
メソッド:再帰的追加
メソッド:recursiveAddFn
メソッド:削除
メソッド:再帰的削除
メソッド:含む
メソッド: recursiveContains
メソッド:recursiveContainsFn
メソッド:isPrefix
メソッド:regexpSearch
メソッド: 一致
メソッド:getSize
メソッド: isEmpty
クラス:MyTrieSet
メソッド: コンストラクター
メソッド:追加
メソッド:削除
メソッド:含む
メソッド:getSize
メソッド: isEmpty
クラス:MyTrieNodeUpgrade
メソッド: コンストラクター
クラス:MyTrieUpgrade
メソッド: コンストラクター
メソッド:追加
メソッド:置く
メソッド:再帰的Put
メソッド:再帰的PutFn
メソッド:削除
メソッド:再帰的削除
メソッド: 取得
メソッド:getPrefixAll
メソッド: recursiveGetPrefixAllInfo
メソッド: recursiveGetPrefixAllTreeInfo
メソッド:含む
メソッド: recursiveContains
メソッド:recursiveContainsFn
メソッド:isPrefix
メソッド:regexpSearch
メソッド: 一致
メソッド:getSize
メソッド: isEmpty
クラス:MyTrieMap
メソッド: コンストラクター
メソッド:追加
メソッド: 取得
メソッド:削除
メソッド:含む
メソッド: セット
メソッド:getKeys
メソッド:getValues
メソッド:getSize
メソッド: isEmpty
13. UnionFind (ユニオン検索)、
クラス:MyUnionFind
メソッド: コンストラクター
メソッド: UnionElements
メソッド:isConnected
メソッド:getSize
クラス:MyUnionFindOne
メソッド: コンストラクター
メソッド: UnionElements
メソッド:isConnected
メソッド:検索
メソッド:getSize
クラス:MyUnionFindTwo
メソッド: コンストラクター
メソッド: UnionElements
メソッド:isConnected
メソッド:検索
メソッド:getSize
クラス:MyUnionFindThree
メソッド: コンストラクター
メソッド: UnionElements
メソッド:isConnected
メソッド:検索
メソッド:getSize
クラス:MyUnionFindFour
メソッド: コンストラクター
メソッド: UnionElements
メソッド:isConnected
メソッド:検索
メソッド:getSize
クラス:MyUnionFindFive
メソッド: コンストラクター
メソッド: UnionElements
メソッド:isConnected
メソッド:検索
メソッド:getSize
クラス:MyUnionFindSix
メソッド: コンストラクター
メソッド: UnionElements
メソッド:isConnected
メソッド:検索
メソッド:getSize
14. AVLTree (AVL バランス ツリー)、
クラス:MyAVLTreeNode
メソッド: コンストラクター
メソッド:toString
クラス:MyAVLTree
メソッド: コンストラクター
メソッド:比較
メソッド: getHeight
メソッド:getBalanceFactor
メソッド:getNode
メソッド: rightRotate
メソッド:leftRotate
メソッド:追加
メソッド:再帰的追加
メソッド:削除
メソッド:再帰的削除
方法:最大
メソッド:removeMax
メソッド: 取得
メソッド: セット
メソッド:含む
メソッド:getSize
メソッド: isEmpty
メソッド:isBanarySearchTree
メソッド:inOrder
メソッド:getKeys
メソッド:getEntity
メソッド:isBalanced
メソッド:recursiveIsBalanced
メソッド:toString
クラス:MyAVLTreeSet
メソッド: コンストラクター
メソッド:追加
メソッド:削除
メソッド:含む
メソッド:getSize
メソッド: isEmpty
クラス:MyAVLTreeMap
メソッド: コンストラクター
メソッド:追加
メソッド: 取得
メソッド:getKeys
メソッド:getEntity
メソッド:削除
メソッド:含む
メソッド: セット
メソッド:getSize
メソッド: isEmpty
15. RedBlackTree (赤と黒のバランスのとれた木)、
クラス:MyRedBalckTreeNode
メソッド: コンストラクター
メソッド:toString
クラス:MyRedBlackTree
メソッド: コンストラクター
メソッド:isRed
メソッド:leftRotate
メソッド:flipColors
メソッド: rightRotate
メソッド:比較
メソッド:getNode
メソッド:追加
メソッド:再帰的追加
メソッド:削除
メソッド:再帰的削除
方法:最大
メソッド:removeMax
メソッド: 取得
メソッド: セット
メソッド:含む
メソッド:getSize
メソッド: isEmpty
メソッド:toString
クラス:MyRedBlackSet
メソッド: コンストラクター
メソッド:追加
メソッド:削除
メソッド:含む
メソッド:getSize
メソッド: isEmpty
クラス:MyRedBlackMap
メソッド: コンストラクター
メソッド:追加
メソッド: 取得
メソッド:削除
メソッド:含む
メソッド: セット
メソッド:getSize
メソッド: isEmpty
16. HashTable(ハッシュテーブル)
クラス:MyHash
メソッド: コンストラクター
メソッド:ハッシュコード
メソッド:calcHashOne
メソッド:calcHashTwo
クラス:MyHashTableBySystem
メソッド: コンストラクター
メソッド:ハッシュ
メソッド:getSize
メソッド:追加
メソッド:削除
メソッド: セット
メソッド:含む
メソッド: 取得
クラス:MyHashTableByAVLTree
メソッド: コンストラクター
メソッド:ハッシュ
メソッド:getSize
メソッド:追加
メソッド:削除
メソッド: セット
メソッド:含む
メソッド: 取得
メソッド:サイズ変更
17. その他の補助クラス
クラス:メイン
メソッド: コンストラクター
メソッド:表示
メソッド: alterLine
クラス:パフォーマンステスト
メソッド:テストキュー
メソッド:テストスタック
メソッド:テストセット
メソッド:テストマップ
メソッド:テストヒープ
メソッド: testUnionFind
メソッド:calcTime
メソッド:testCustomFn
クラス:リストノード
メソッド: コンストラクター
メソッド:LinkedListNode に追加
メソッド:toString
クラス: 計算
メソッド:合計
メソッド:tailSum
クラス:ソリューション
メソッド: isValid
メソッド:要素の削除
メソッド: uniqueMorseRepresentations
メソッド:交差点
メソッド:交差
メソッド:topKFrequent
メソッド:NumArray
メソッド:NumArray2
方法: トライ
メソッド:WordDictionary
メソッド: MapSum
メソッド:firstUniqChar
クラス:学生
メソッド: コンストラクター
メソッド:ハッシュコード
メソッド: 等しい
メソッド:getCode
メソッド:toString
データ構造分析とアルゴリズムの実装: https://github.com/ilovejwl/MaoDataStructures