/* 先来看下快排 9.9 快速排序 事实上,不论是C++ STL、java SDK或者.NETFrameWork SDK等开发工具包中的源代码中都能找到它的某种实现版本。 快速排序算法是由图灵奖获得者TonyHoare设计出来的,他在形式化方法理论以及AL-GOL60编程语言的发明中都有卓越贡献, ...
分类:
编程语言 时间:
2020-07-14 13:32:15
阅读次数:
70
一、数据结构与算法基础 说一下几种常见的排序算法和分别的复杂度。 用Java写一个冒泡排序算法 描述一下链式存储结构。 如何遍历一棵二叉树? 倒排一个LinkedList。 用Java写一个递归遍历目录下面的所有文件。 二、Java基础 接口与抽象类的区别? Java中的异常有哪几类?分别怎么使用? ...
分类:
编程语言 时间:
2020-07-14 13:31:27
阅读次数:
74
1.求平均值 冒泡法 选择排序 插入排序 快速排序 二分法查找 使用工具排序 工具二分法查找 生成随机数 2.在二分法时,没有强调要先排序才可以二分法。递归没太看明白。 3.明天学习综合实例和第四章开头。 ...
分类:
编程语言 时间:
2020-07-14 00:49:04
阅读次数:
72
排序算法 冒泡排序(Bubble Sort)--稳定 实质:把小(大)的元素往前(后)调 步骤一:比较相邻的元素。如果第一个比第二个大,就交换他们两个。 步骤二:对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 步骤三: 针对所有的元素重复以上的步骤 ...
分类:
编程语言 时间:
2020-07-14 00:31:20
阅读次数:
73
/* C程序数组算法 — 选择排序法 * 此例子按照 大 -> 小 排序 * 原理:后一个和前一个相比较,若大于/小于 就利用"位置"对调。 * 比较次数: n(n-1) / 2 次 && 互换次数:n-1 次 * 说明:此算法适用于数字比较少的排序 && 此方法和冒泡法相似的一批 * 跟着逻辑走 ...
分类:
编程语言 时间:
2020-07-12 22:40:49
阅读次数:
79
一、排序的概念:将一系列数据按照某个关键字进行递增或递减的顺序排列起来 二、排序的方式: 1、插入排序: 直接插入排序: 一 一比对 折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况 希尔排序:待排序的关键字基本有序->效率较高 分组插入,先分割(相隔某个增量的记录),对每组进行 ...
分类:
其他好文 时间:
2020-07-12 22:30:17
阅读次数:
65
排序(重新排列表中的元素,使表中的元素满足关键字递增或递减): 稳定性:设表中有两个元素a,b,其对应关键字x,y,且a在b前面,若排序后,a仍在b前面,则我们说该排序算法是稳定的,否则不稳定 内部排序:值在排序期间元素全部放在内存的排序。 插入排序:每次将一个未排列的元素插入到一个已经排好的子序列 ...
分类:
其他好文 时间:
2020-07-12 22:27:05
阅读次数:
73
第八章给我们介绍了内部排序和外部排序。各种排序方法都有各自的优缺点,没有说哪一种是最好的。直接插入排序、折半插入排序、冒泡排序和简单选择排序的速度较慢,但是它们实现的过程比较简单,所以称他们为简单的排序方法。速度较快的算法称为先进的排序方法,但是实现的过程比较复杂。我们在选择排序方法时,要综合考虑。 ...
分类:
其他好文 时间:
2020-07-12 22:14:02
阅读次数:
73
1.冒泡排序 def bubble_sort(list): for i in range(len(list)-1): for j in range(len(list)-i-1): if list[j] > list[j+1]: list[j], list[j+1] = list[j+1], list ...
分类:
编程语言 时间:
2020-07-12 20:42:52
阅读次数:
79
一、排序 概念:排序(Sorting)是按关键字的非递减或非递增顺序对一组记录重新进行排列的操作。 排序方式: 1.插入排序:①直接插入排序:是一种最简单的排序方法,其基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、 记录数量增1的有序表。【一 一对比】 特点: (I)稳定排序。 ( ...
分类:
其他好文 时间:
2020-07-12 20:28:09
阅读次数:
69