# algorithm **Repository Path**: hucy001/algorithm ## Basic Information - **Project Name**: algorithm - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause-Clear - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-07-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # algorithm #### 选择排序 1. 找出数组中最小的元素,然后跟第一个元素交换位置。 2. 从剩下的元素找出最小的元素,然后跟第二个元素交换位置。 3. 如此往复,直到将整个数组排序。 4. 时间复杂度 N^2, 空间复杂度 1, 稳定性 否 #### 插入排序 1. 第n个元素的处理:假设前面n-1个元素有序, 2. 第n-1个元素和第n个元素比较,如果违反升序或降序,将第n-1个元素后移 3. 第n-2个元素和第n个元素比较,如果违反升序或降序,将第n-2个元素后移 4. 如此往复,直到第m个元素和第n个元素没有违反升序或降序,将第n个元素插入第m个元素后面(ma[j0],得到元素子列 a[i]...a[j0-1] 3. 向右移动右边元素位置j,直到a[i]查找) | BinarySearchST | 最优的查找效率和空间需
求,能够进行有序性相关
的操作 |插入操作很慢 | | 二叉查找树 | BST | 实现简单,能够进行有序
性相关的操作 |没有性能上界的保证
链接需要额外的空间 | | 平衡二叉树 | RedBlackBST | 最优的查找和插入效率,能
够进行有序性相关的操作 |链接需要额外的空间 | | 散列表 | SeparateChainHashST | 能够快速查找和插入常
见类型的数据 |需要计算数据的散列无法进行有序性相
关的操作链接和空节点需要额外的空间 | | 散列表 | LinearProbingHashST | 同上 |同上 | #### 二叉查找树 #### 平衡查找树 #### 哈希表 #### 查找应用 #### 参考资料 [https://algs4.cs.princeton.edu/home/](https://algs4.cs.princeton.edu/home/) [https://blog.csdn.net/u014044812/article/details/88764311](https://blog.csdn.net/u014044812/article/details/88764311) [https://www.cnblogs.com/wuxiangli/p/6399266.html](https://www.cnblogs.com/wuxiangli/p/6399266.html)