关于排序我想大家都不陌生,所谓排序就是将输入的数字按照从小到大的顺序进行排列。当然排序也是多种多样的,接下来我们来一次看看各种排序: 冒泡排序 选择排序 快速排序 插入排序(挖坑) 堆排序(挖坑) 归并排序(挖坑) 冒泡排序 首先我们从冒泡排序开始说吧(取自于算法动画图解) 先以这9个数为基础,从序 ...
分类:
编程语言 时间:
2019-10-17 13:50:07
阅读次数:
89
冒泡排序、选择排序、快速排序、插入排序、希尔排序、归并排序、基数排序、堆排序。 推荐网址1:https://www.cnblogs.com/onepixel/articles/7674659.html 推荐网址2(C++):https://blog.csdn.net/opooc/article/de ...
分类:
编程语言 时间:
2019-10-15 19:11:43
阅读次数:
84
本文参考一些书籍啊哈算法,数据结构与算法(清华大学),已经一些网上的博客 然后动图也是从网上偷来的(^_^),代码实现我尽量用大家容易懂的方式实现 数组居多,然后,桶排序(是别人代码,不过写的不完全正确后面会更新),都是学习嘛 有误的地方,还望各位指正,希望对你有帮助(其实很灵活的,在运用上),也不 ...
分类:
编程语言 时间:
2019-10-14 16:14:19
阅读次数:
78
堆满足的条件:1,是一颗完全二叉树。2,大根堆:父节点大于各个孩子节点。每个节点都满足这个道理。小根堆同理。 parent = (i-1)/2 #i为当前节点 left = 2*i+1 right = 2*i + 2 堆可以分为大根堆和小根堆,这里用大根堆的情况来定义操作:(1)大根堆调整(max_ ...
分类:
编程语言 时间:
2019-10-14 16:13:54
阅读次数:
98
void swap(int* a,int i,int j){ int temp = a[i]; a[i] = a[j]; a[j] = temp;} void head(int* a,int current,int n){ if(current>=n) return; int left = 2*cu ...
分类:
编程语言 时间:
2019-10-14 15:00:42
阅读次数:
94
刚好闲下来,顺便收集了一些关于爱奇艺,字节跳动,抖音的面试题目。也整理好了答案,希望对即将面试和跳槽的小伙伴有所帮助 一.2019爱奇艺秋招Android 1.使用堆排序方法排序(45,78,57,25,41,89),初始堆为( 89,45,78,25,41,57 ) 2.6个圆盘的汉诺塔,总的移动 ...
分类:
移动开发 时间:
2019-10-11 18:17:17
阅读次数:
213
先来看看8种排序之间的关系: 一、直接插入排序 代码如下 二、希尔排序 第三、简单选择排序 第四、堆排序 第五、冒泡排序 第六、快排 第七、归并排序 第八、基数排序 参考:https://blog.csdn.net/jiangwei0910410003/article/details/3826178 ...
分类:
编程语言 时间:
2019-10-10 19:51:26
阅读次数:
102
参考文章:https://mp.weixin.qq.com/s/VjqZNPg6dAEReAzqZcb_yw 原文链接:www.jianshu.com/p/5e171281a387 ...
分类:
编程语言 时间:
2019-10-09 12:39:53
阅读次数:
75
本文将基于C语言,依次介绍八大排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序,并对其性能作对比。 ...
分类:
编程语言 时间:
2019-10-07 17:22:03
阅读次数:
108