2019年7月15日

C++堆排序算法的实现

摘要: 堆排序(Heap sort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以用到上一次的排序结果,所以不像其他一般的排序方法一样,每次都要进行n-1次的比较,复杂度为O(nlogn)。 这 阅读全文

posted @ 2019-07-15 22:09 zkfopen 阅读(10663) 评论(0) 推荐(1) 编辑

冒泡排序(及改进版)

摘要: 冒泡排序 (1)基本思想 冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(小)的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。 算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大(小)的 阅读全文

posted @ 2019-07-15 18:05 zkfopen 阅读(1509) 评论(0) 推荐(0) 编辑

使用函数rand5()来实现函数rand7()

摘要: 题目: 题目: 给定一个函数rand5(),该函数可以随机生成1-5的整数,且生成概率一样。现要求使用该函数构造函数rand7(),使函数rand7()可以随机等概率的生成1-7的整数。 思路: 很多人的第一反应是利用rand5() + rand()%3来实现rand7()函数,这个方法确实可以产生 阅读全文

posted @ 2019-07-15 11:26 zkfopen 阅读(6228) 评论(0) 推荐(0) 编辑

导航