# dataStructureStudy 数据结构与算法学习 **Repository Path**: xyyz150/dataStructureStudy ## Basic Information - **Project Name**: dataStructureStudy 数据结构与算法学习 - **Description**: 数据结构与算法学习 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-03-28 - **Last Updated**: 2021-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据结构与算法学习 ### 介绍 数据结构与算法的学习 ### 数组 1. DynamicArray 动态扩容数组,类似于ArrayList ### 链表 #### 数据结构 1. SingleLinkedList 单链表 2. SingleLinkedList2 单链表:带头和尾 3. DoubleLinkedList 双向链表 #### LinkedListAlgorithm 算法 1. 单链表反转 2. 单链表反转:递归反转 3. 单链表检测环:快慢指针 4. 两个有序链表合并:指针交替后移 5. 两个有序链表合并:递归 6. 链表中倒数第k个节点:笨办法,快慢指针 7. 链表中倒数第k个节点:新办法,快慢指针 8. 删除单向链表中间的某个节点 9. LRU 最近最少使用过期算法 ### 排序算法 1. BubbleSort 冒泡排序 时间复杂度O(n^2) 2. InsertionSort 插入排序 时间复杂度O(n^2) 3. SelectionSort 选择排序 时间复杂度O(n^2) 4. MergeSort 归并排序 时间复杂度O(nlogn) 5. QuickSort 快速排序 时间复杂度O(nlogn) 6. BucketSort 桶排序 时间复杂度O(n) 7. CountingSort 计数排序 时间复杂度O(n) ### 查找算法 #### BinarySearch 二分法查找 1. 循环编码,查找指定的值在数组中的索引 2. 递归编码,查找指定的值在数组中的索引 3. 查找第一个等于value的数据在数组中的索引 4. 查找最后一个等于value的数据在数组中的索引 5. 查找值等于value的数据在循环数组中的索引