码迷,mamicode.com
首页 >  
搜索关键字:快速排序 堆排序    ( 5090个结果
《数据结构与算法之美》22——递归树
前言 在排序那一节里,讲到排序时,利用递推公式推导时间复杂度来求解归并排序、快速排序的时间复杂度,但有些情况,例如快速排序的平均时间复杂度,利用递推公式,会涉及很复杂的数据推导。今天学习一种特殊的树来分析递归算法的时间复杂度,那就是递归树。 递归树与时间复杂度 递归算法的思路是把大问题分成小问题来解 ...
分类:编程语言   时间:2020-07-10 10:10:47    阅读次数:73
堆排序
思路(大根堆): 部分堆排序: 从某根节点开始,看左右孩子的值是否大于根节点。 若根节点不为最大值,找到左右孩子的最大值和根节点交换。 交换后破坏了下一级堆,则需要对下一级堆继续用以上方法排序。 建立堆: 从最后一个节点开始,找到父节点,从父节点遍历到根节点,用堆排序,最后就建立一个排好序的堆。 空 ...
分类:编程语言   时间:2020-07-10 00:40:31    阅读次数:71
堆排序的时间复杂度分析
堆排序分为两步,即初始化堆、调整堆。 两个步骤都要调用一个调整结点顺序的函数,以大根堆为例,操作为: 1:如果父亲结点num[a]和它的两个孩子结点num[2a+1], num[2a+2]满足um[a] > max{num[2a+1], num[2a+2]},那么返回; 2:如果不满足堆的性质,那么 ...
分类:编程语言   时间:2020-07-09 20:56:07    阅读次数:161
快速排序
快速排序 本篇内容共分两部分:分而治之,快速排序。 分而治之(divide and conquer,D & C)——种著名得递归式问题解决办法。 快速排序是一种排序算法其速度比选择排序快得多。 1. 分而治之 首先,我们申明一下D&C的工作原理: 找出简单的基线条件(跳出无限循环的条件) 确定如何缩 ...
分类:编程语言   时间:2020-07-09 01:02:14    阅读次数:77
冒泡排序
概述 最近在面试,发现基本上上点规模的公司都喜欢问算法的问题,但是在我实际的工作中使用这些算法的地方非常少,感觉就偶尔用一下递归,而且递归也不是什么算法,其他的很多算法很少使用,但是既然人家问了,那也没办法,说不定是因为人家的公司确实高大上,工作中很多的场景可以使用这些算法,本文介绍冒泡排序,一种很 ...
分类:编程语言   时间:2020-07-06 15:59:31    阅读次数:51
堆排序解析
当然堆排序还有一种更好的办法。从小到大排序的时候不建立”最小堆“而是建立”最大堆“! 最大堆建立好之后,最大的元素是h[1],因为我们需要从小到大排序,希望最大的数放在最后,那么我们将h[1]和h[n]交换,此时h[n]就是数组中最大的元素。最大的元素归位后,将堆的大小减1,n--,并将交换后的新h ...
分类:编程语言   时间:2020-07-05 19:23:54    阅读次数:61
数据结构与算法(0)--必知必会
数组 实现一个支持动态扩容的数组 实现一个大小固定的有序数组,支持动态增删改操作 实现两个有序数组合并为一个有序数组 链表 实现单链表、循环链表、双向链表,支持增删操作 实现单链表反转 实现两个有序的链表合并为一个有序链表 实现求链表的中间结点 栈 用数组实现一个顺序栈 用链表实现一个链式栈 编程模 ...
分类:编程语言   时间:2020-07-05 13:12:20    阅读次数:89
二叉堆和堆排序
二叉堆是一种特殊的二叉树。 它是一颗完全二叉树,表示树的每一层都有左侧和右侧子节点(除了最后一层的叶节点),并且最后一层的叶节点尽可能都是左侧子节点,这叫结构特性。 二叉堆不是最小堆就是最大堆。最小堆允许快速导出树的最小值,最大堆允许快速导出输的最大值。所有的节点都大于等于(最大堆)或小于等于(最小 ...
分类:编程语言   时间:2020-07-05 00:28:25    阅读次数:65
要想数组用的 6,怎能不懂 java.util.Arrays
java.util.Arrays 类就是为数组而生的专用工具类,基本上常见的对数组的操作,Arrays 类都考虑到了,这让我由衷地觉得,是时候给该类的作者 Josh Bloch、Neal Gafter、John Rose 点个赞了。 (我是怎么知道作者名的?看源码就可以,小伙伴们,装逼吧) Arra ...
分类:编程语言   时间:2020-07-04 13:08:42    阅读次数:51
[数据结构] 快速排序+折半搜索
1 数据结构的练习与巩固 2 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ...
分类:编程语言   时间:2020-07-03 21:33:49    阅读次数:49
5090条   上一页 1 ... 9 10 11 12 13 ... 509 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!