数据结构与算法
文章平均质量分 66
数据结构与算法
Kim_smile
Be brave to try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
哈夫曼树 & 哈夫曼编码
哈夫曼树哈夫曼树的定义:设二叉树具有 n 个带权值的叶节点,那么从根节点到各个叶节点的路径长度与相应叶节点权值的乘积的和,叫作二叉树的带权路径长度 WPL (Weighted Path Length)。具有最小带权路径长度的二叉树称为哈夫曼树 (Huffman Tree),也称为最优二叉树。权值较大的结点离根较近。构造哈夫曼树的原则(贪心思想):权值越大的叶节点越靠近根节点权值越小的叶节点越远离根节点哈夫曼编码哈夫曼编码就是规定哈夫曼树中的左分支为 0,右分支为 1,从根节点到每个叶节点所经原创 2022-05-11 16:01:59 · 10811 阅读 · 0 评论 -
查找算法——二分查找与插值查找
二分查找使用二分查找的场景:数组有序非递归版public static int binarySearch(int[] nums, int target) { int left = 0, right = nums.length - 1; while (left < right) { int mid = left + (right - left) / 2; //防止溢出 if (nums[mid] == target) {原创 2021-11-10 23:43:46 · 269 阅读 · 0 评论 -
源码分析Arrays-sort中使用的排序算法
Arrays.sort底层Java 主要排序方法为 java.util.Arrays.sort(),粗略的来讲,对于原始数据类型使用双轴快速,对于引用类型使用归并排序。一开始会判断数组是否是小数组(元素小于286),是则使用快速排序。static void sort(int[] a, int left, int right, int[] work, int workBase, int workLen) { // Use Quicksort on small a原创 2021-11-10 23:41:28 · 912 阅读 · 0 评论 -
十大排序算法(快速排序、归并排序、堆排序、直接插入排序)——Java实现
文章目录冒泡排序选择排序直接插入排序希尔排序归并排序快速排序堆排序计数排序比较和非比较的区别桶排序基数排序基数排序 vs 计数排序 vs 桶排序总结冒泡排序从要排序序列的第一个元素开始,不断比较相邻元素的值,发现逆序则交换,将值较大的元素逐渐从前向后移动。每找到待排序序列的最大值时,就将该最大值固定在待排序序列的尾部,且每找到一个待排序序列最大值需要循环一次,n 个值则需要循环 n 次,但最后一个值无需比较,则实际需循环 n-1 次,即 i < arr.length - 1 。publi原创 2021-11-10 23:39:43 · 1306 阅读 · 0 评论 -
C语言——常见排序算法与查找算法
数据结构typedef int ElemType;typedef struct{ ElemType *elem; //顺序表基址,elem[0]闲置或作为监视哨 int length; //顺序表长度}SqList;原创 2021-11-09 18:53:56 · 1931 阅读 · 0 评论 -
剑指 Offer 31.栈的压入、弹出序列
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3), pu原创 2021-09-12 15:07:57 · 281 阅读 · 0 评论 -
剑指 Offer 06.从尾到头打印链表
题目描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000解析方式一:递归法解题思路:递归到链表尾端,在回溯时存入数组。算法实现:变量:先创建一个result数组,用size变量记录当前数组的下标索引,node为当前链表结点。递归结束条件:当链表结点为null,node==null。结果:result即为逆序排列链表数值后的数组,根据size对原创 2021-07-11 09:02:55 · 153 阅读 · 0 评论
分享