Yorick Harbor
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
堆排序

堆排序

堆排序堆排序基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆。注意:没有要求结点的左孩子的值和右孩子的值的大小关系。 每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆 一般升序采用大顶堆,降序采用小顶堆
2022-07-26
DataStructure
#Java #Sort #排序
树和二叉树

树和二叉树

树和二叉树 树和二叉树 为什么需要树这种数据结构 树 树的概念 树的术语 二叉树 二叉树的形态 特殊二叉树 二叉树的遍历 二叉树遍历的实现思路 前序遍历 中序遍历 后序遍历 二叉树遍历的代码实现 二叉树的查找 前序中序后序查找思路 前序查找 中序查找 后序查找 前序中序后序查找代码实现 二叉树删除结点 二叉树删除结点思路 二叉树删除结点代码实现 顺序存储二叉树 顺序存储
2022-07-21
DataStructure
#Java #树 #Tree
哈希表

哈希表

哈希表 哈希表 应用背景 Google上机题 减少数据库查询次数 基本介绍 实现思路 代码实现 应用背景Google上机题看一个实际需求,Google公司的一个上机题: 有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址…),当输入该员工的id时,要求查找到该员工的所有信息.要求:不使用数据库,尽量节省内存,速度越快越好 这时候就暗示要使用哈希表(散列) 减
2022-07-20
DataStructure
#Java #HashTable #哈希表
查找

查找

查找 查找 常用查找 线性查找 二分查找 思路分析 代码实现 递归实现 非递归实现 插值查找 思路分析 代码实现 斐波那契查找 思路分析 代码实现 总结 常用查找 顺序(线性)查找 二分查找/折半查找 插值查找 斐波那契查按 线性查找// 简单的线性查找,找到一个val就返回下标 public static int seqSearch(int[] arr, int
2022-07-17
DataStructure
#Java #Search #查找
基数排序

基数排序

基数排序 基数排序 基本介绍 基本思想 代码实现 特点总结 基本介绍 基数排序(Radix Sort)属于“分配式排序” (distribution sort),又称“桶子法”(bucket sort)或 bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用。 基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法。 基数排序(Ra
2022-07-16
DataStructure
#Java #Sort #排序
归并排序

归并排序

归并排序基本介绍归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案”修补”在一起,即分而治之)。 视频讲解 代码实现// 归并排序 public static void mergeSort(int[] arr,
2022-07-15
DataStructure
#Java #Sort #排序
快速排序

快速排序

快速排序 快速排序 基本介绍 代码实现 特点及性能 基本介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 视频讲解 选定Pivot中心轴 将大于Pivot的数字放在Piv
2022-07-14
DataStructure
#Java #Sort #排序
希尔排序

希尔排序

希尔排序基本介绍希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。 实现思路希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 代码实现// 希尔排序移动式,时间复杂度
2022-07-13
DataStructure
#Java #Sort #排序
插入排序

插入排序

插入排序 插入排序 基本介绍 代码实现 简单插入排序存在的问题 基本介绍插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。 插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排序
2022-07-12
DataStructure
#Java #Sort #排序
选择排序

选择排序

选择排序基本介绍选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]~arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]~arr[n-1]中选取最小值,与arr[i-1]交换,…,
2022-07-11
DataStructure
#Java #Sort #排序
1…1011121314…16

搜索

Yorick
载入天数... 载入时分秒...
总访问量 次 总访客数 人