摘要: 队列是一种特殊的线性表,是一种先进先出的数据结构。只允许在表的前端进行删除操作,在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 简单的循环队列实现比较容易,队头获取数据、队头弹出获取数据,队尾插入数据。下面来研究一下可以无限循环使用的队列。 阅读全文
posted @ 2019-06-13 19:39 Latiny 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 目前HailStone序列还未被证明是否有穷,所以它未必是一个算法。 阅读全文
posted @ 2019-06-13 15:00 Latiny 阅读(1400) 评论(0) 推荐(0) 编辑
摘要: 1、基本思想 将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小则依次交换,直到出现比选择元素小的元素或者全部元素都比较过为止。 2、算法描述 ①. 从第一个元素开始,该元素可以认为已经被排序; ②. 取出下一个元素,在已经排序的元素序列中从后向前扫描; ③. 如果该元 阅读全文
posted @ 2019-06-13 11:52 Latiny 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 1 基本思想 在未排序序列中找到最小元素,存放到未排序序列的起始位置。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种算法,需要对比len-n-1次,但是只交换1次或者0次。 2 算法描述 ①. 从待排序列中,找到最小的元素; ②. 如果最小元素不是待排序列的第一个,将其和第一个 阅读全文
posted @ 2019-06-13 11:06 Latiny 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序( Bubble Sort)是一种简单的排序算法。它重复访问要数列, 一次比较两个元素,如果他们的顺序错误就把交换过来。访问数列工作是 一次比较两个元素,如果他们的顺序错误就把交换过来。访问数列工作是 一次比较两个元素,如果他们的顺序错误就把交换过来。访问数列工作是 重复地进行直到没有再需要 阅读全文
posted @ 2019-06-13 10:00 Latiny 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 算法包含三要素:计算,计算模型,算法。 1、计算 计算:即信息处理。借助某种工具,遵照一定规则,以明确而机械的形式进行。 2、计算模型 计算机:即信息处理工具。 3、算法 所谓算法,即特定计算模型下,旨在解决特定问题的指令序列。 输入:待处理的信息(问题); 输出:经处理的信息(答案); 正确性:可 阅读全文
posted @ 2019-06-13 09:58 Latiny 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 1、大O表示法 表示程序的执行时间或占用空间随数据规模的增长趋势。 算法操作 时间复杂度 线性查找 O(n) 二分查找 O(logn) 无序数组插入 O(1) 无序数组删除 O(n) 有序数组插入 O(n) 有序数组删除 O(n) 冒泡排序 O(n2) 2、时间复杂度 时间复杂度,又称"渐进式时间复 阅读全文
posted @ 2019-06-13 09:53 Latiny 阅读(256) 评论(0) 推荐(0) 编辑