前言
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。
面试官对于这...
分类:
编程语言 时间:
2016-04-29 17:00:59
阅读次数:
242
排序算法:一种能将一串数据依照特定的排序方式进行排列的一种算法。
排序算法性能:取决于时间和空间复杂度,其次还得考虑稳定性,及其适应的场景。
稳定性:让原本有相等键值的记录维持相对次序。也就是若一个排序算法是稳定的,当有俩个相等键值的记录R和S,且原本的序列中R在S前,那么排序后的列表中R应该也在S之前。 以下来总结常用的排序算法,加深对排序的理解。排序算法目录
冒泡排序
插入排序
希尔排序...
分类:
编程语言 时间:
2016-04-26 21:50:19
阅读次数:
215
项目需要,自己上学的时候接触过一些算法,我记得当时算法那门考了系里最高分,98分,想着没什么用呢,谁知道这两天就用到了,项目中涉及到了排序,我就重温了一下算法,说到算法,就我个人而言,第一就是想到了冒泡(最简单,也是最容易理解),但是项目中我没用冒泡,怕同事看到了说我低级,虽然算法只有老大写(别的同事都不写),我用了选择排序,显得难了点,感觉有些技术含量的,下边就是我用的选择排序算法:
- (N...
分类:
编程语言 时间:
2016-04-26 19:56:15
阅读次数:
256
这部分为了日后方便复习,直接摘录《大话数据结构》P428~430。不擅长记忆,理解每种排序算法之后,面试时候可以推一下。 ...
分类:
编程语言 时间:
2016-04-26 00:23:02
阅读次数:
195
前言
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这...
分类:
编程语言 时间:
2016-04-25 15:09:45
阅读次数:
225
http://blog.csdn.net/feixiaoxing/article/details/6993718 ...
分类:
编程语言 时间:
2016-04-19 11:53:36
阅读次数:
155
排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标准: (1)执行时间 (2)存储空间 (3)编程工作 对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。 主要排序法有: 一、冒泡(Bubble)排序——相 ...
分类:
编程语言 时间:
2016-04-19 08:46:22
阅读次数:
268
前言 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序... ...
分类:
编程语言 时间:
2016-04-14 20:48:39
阅读次数:
290
K-measns Clustering 1)Original k-means clustering 最经典的聚类算法 缺点一个是k的选择,另一个是init是随机点,最后cluster的结果可能不同,需要测量多次。 2)Sequential k-means clustering 采用增量学习 3)Fo ...
分类:
编程语言 时间:
2016-04-12 01:45:20
阅读次数:
569
交换排序(冒泡排序、快速排序) 插入排序(直接插入排序、希尔排序)、 选择排序(直接选择、堆排序) 归并排序 基排序 1.冒泡排序 时间复杂度:最优情况下是O(n),最坏情况和平均情况是O(n2) 空间复杂度:O(1) 稳定 算法实现是 从小到大排序 结果是1 2 3 5 6 7 2 快速排序 时间 ...
分类:
编程语言 时间:
2016-04-02 17:31:55
阅读次数:
221