
数据结构
橘座的胡萝卜
这个作者很懒,什么都没留下…
展开
-
二分查找--Java
二分查找 刚刚入手了《算法图解》,打算自己按书实现一下代码。这是本不错的算法入门书,有兴趣可以自己看看。 原书使用python,我用Java实现。下面介绍一下二分法 思考这样一个问题: 你的朋友想要测试你们的心有灵犀度,告诉你:她心中在1-100之间想了一个数,每猜一次,会告知你正误还有你报的数比她想的是大了还是小了。想看你几...原创 2018-11-26 19:33:34 · 288 阅读 · 2 评论 -
JAVA选择排序1.0
排序的方法很多,即使是一个思想,也有不同的优化方案。整理了一下简单选择排序。选择排序选择排序是一种灵巧的算法,容易理解和实现,但是速度不是很快。思路我有一个乱序的数组,我想将它从小到大排列---我们都知道数组是有序排列在一整块空间里的,有序排列就意味着,数组下标为i,就是第i小的。(数组的第一个元素下标是0,那么由小到大有序排列后,数组名[0]就是整个数组最小的,数组名[1]就...原创 2018-11-28 22:09:47 · 171 阅读 · 0 评论 -
计数排序----C++
emmmC++真的有些绝望,在实现上要比Java难计数排序:其核心思想是选择。温故--选排:我们知道,选择排序是第n次选出第n大的值放在a[n-1](数组从0开始,若为n个元素,则最后一个为a[n-1])的位置---即数组的最大值放在a[0],第二大放a[1]...第n大在a[n-1].上一篇博客有写。链接:https://mp.youkuaiyun.com/postedit/845931...原创 2018-12-06 22:20:22 · 423 阅读 · 0 评论 -
堆排序原理及其实现----c++
老生常谈,开篇介绍,定义先行堆排序:堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质(即子结点的键值或索引总是小于(或者大于)它的父节点)。实现 最大堆调整(Max Heapify):将堆的末端子节点作调整,使得子节点永远小于父节点 创建最大堆(Build Max Heap):将堆中的所...原创 2018-12-10 16:02:13 · 224 阅读 · 0 评论