# 数据结构和算法实现-Implementation of Data Structure and Algorithm **Repository Path**: the-coldsummer/hash-table-implementation ## Basic Information - **Project Name**: 数据结构和算法实现-Implementation of Data Structure and Algorithm - **Description**: 学习常见数据结构和算法并使用Java实现。 Learn common data structures and algorithms and try to implement them in Java. - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-09 - **Last Updated**: 2024-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Data-structures, study, practice ## README # 数据结构实现 ## 介绍 学习常见数据结构和算法并使用Java实现 ## 已经实现内容 ### 数据结构(Data Structure) #### 1. 列表(List) a. 顺序表(ArrayList)\ b. 双向链表(LinkedList) #### 2. 基于数组/列表的栈和队列(Stack, Queue) a. 数组栈(ArrayStack)\ b. 链表栈(LinkedStack)\ c. 数组队列(ArrayQueue)\ d. 数组双端队列(ArrayDeque)\ e. 数组循环双端队列(ArrayCircularDeque)\ f. 链表队列(LinkedQueue)\ g. 链表双端队列(LinkedDeque) #### 3. 哈希表(HashTable) a. 普通哈希表(SimpleHashTable)\ b. 开放寻址哈希表(OpenAddressingHashTable)\ c. 链式地址哈希表(SeparateChainingHashTable) #### 4. 树(Tree) a. 二叉查找树(BinarySearchTree)\ b. AVL树/平衡二叉查找树(BalancedTree)\ #### 5. 堆(Heap) a. 大根堆(MaxHeap)\ b. 小根堆(MinHeap) #### 6. 堆的应用(Application of Heap) a. 优先队列(PriorityQueue)\ b. Top-k元素问题(TopKProblem) #### 7. 图相关(About Graph) ##### A. 图(Graph) a. 邻接矩阵无向无权图(AdjMatGraph)\ b. 接口:邻接矩阵有向无权图(Interface: AdjMatDirectedGraph)\ c. 接口:邻接矩阵无向有权图(Interface: AdjMatWeightedGraph)\ d. 接口:邻接矩阵有向有权图(Interface: AdjMatDirectedWeightedGraph)\ e. 邻接表无向无权图(AdjListGraph)\ f. 接口:邻接表有向无权图(Interface: AdjListDirectedGraph)\ g. 接口:邻接表无向有权图(Interface: AdjListWeightedGraph)\ h. 接口:邻接表有向有权图(Interface: AdjListDirectedWeightedGraph) ##### B. 图的生成树(Spanning Tree) a. 生成树(SpanningTree)\ b. 接口:有向无权图生成树(Interface: Directed)\ c. 接口:无向有权图生成树(Interface: Weighted)\ d. 接口:有向有权图生成树(Interface: DirectedAndWeighted) ### 算法(Algorithm) #### 1. 查找算法(Search) a. 顺序查找(LinearSearch)\ b. 对分查找(BinarySearch)\ c. 分块查找(BlockSearch)\ d. 树查找(TreeSearch)\ e. 哈希查找(HashSearch)\ f. 斐波那契查找(FibonacciSearch)\ g. 插值查找(InterpolationSearch) #### 2. 排序算法(Sort) ##### A. 常规(Common) a. 冒泡排序(BubbleSort)\ b. 桶排序(BucketSort)\ c. 计数排序(CountingSort)\ d. 堆排序(HeapSort)\ e. 插入排序(InsertionSort)\ f. 归并排序(MergeSort)\ g. 快速排序(QuickSort)\ h. 基数排序(RadixSort)\ i. 选择排序(SelectionSort)\ j. 希尔排序(ShellSort) ##### B. 整活(Prank) a. 睡眠排序(SleepSort)\ b. 猴子排序(BogoSort) ###### 持续不定期更新ing...