上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 27 下一页
摘要: 第29课 - 排序课后练习 1. 根据动画课件独立实现对应的排序算法。 2. 希尔排序分组后,使用插入排序分别对不同的组进行排序。 考虑:是否可以用冒泡排序对不同的组进行排序,且当分组参数收敛到1时,整个排序也能成功排序。 如果可以,请实现这个排序算法。 如果不行,请说明原因。 阅读全文
posted @ 2019-08-11 18:37 free-锻炼身体 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 第28课 - 进阶星移 1. 希尔排列 将待排序列划分为若干个组,在每一个组内进行插入排序,一整个序列基本有序,后再对整个序列进行插入排列。 例如:将n个数据元素分成d个子序。 { R[1],R[1+d],R[1+2d],…,R[1+kd] }。 { R[2],R[2+d],R[2+2d],…,R[ 阅读全文
posted @ 2019-08-11 18:36 free-锻炼身体 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 第27课 - 初始斗转 1. 选择排序 每一次选出前面的元素最小的元素作为第i个元素。 程序: #include <stdio.h> void println(int array[], int len) { int i = 0; for(i=0; i<len; i++) { printf("%d " 阅读全文
posted @ 2019-08-11 18:35 free-锻炼身体 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 第26课 - 排序的概念及分类 疑问:既然已经存在的排序算法基本上都有现成的实现了。我们需要的时候直接调用就可以了,为什么还要学习呢?你不是说要代码复用吗? 1. 排序的一般定义 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的数据元素调整为“有序”的数据元素。 例如: 将下列关键字序列: 阅读全文
posted @ 2019-08-11 18:34 free-锻炼身体 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 第25课 - 队列课后练习 为本专题中实现的队列添加MaxAddress()操作。 该操作返回队列中存储的最大地址值。 分析对比哪种队列实现方式的MaxAddress() 效率效率最好?是否有更高效的方法? 两个栈可以实现队列,那么反过来,两个队列是否可以实现栈呢? 如果不可以,请说明原因。 如果可 阅读全文
posted @ 2019-08-11 18:33 free-锻炼身体 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 第23课 - 队列的优化实现 1. 顺序队列的瓶颈 顺序队列 线性表的第一个元素作为队头。 线性表的最后一个元素作为队尾。 入队的新元素是线性表的最后,时间复杂度为O(1)。 出队列时需要将后续的所有元素向前移动,时间复杂度是O(n)。 2. 顺序队列的优化方案 (1)定义front使其始终代表队头 阅读全文
posted @ 2019-08-11 18:32 free-锻炼身体 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 第24课 - 队列的特别实现 讨论: A: 重新实现的方式确实提高了顺序队列和链式队列的效率,可是实现过程还是比较复杂的。 B: 这也是没有办法的事,直接复用链表虽然可以实现队列,但是效率不好。 C: 有没有既能复用之前的代码,又能高效实现队列。 1. 思路 准备两个栈用于实现队列:inStack和 阅读全文
posted @ 2019-08-11 18:32 free-锻炼身体 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 第22课 - 队列的定义及实现 1. 定义 队列是一种特殊的线性表。 队列仅仅在线性表的两端进行操作。 队头:取出数据元素的一端。 队尾:插入数据元素的一端。 队列允许在中间部位进行操作。 2. 队列的操作 创建队列 销毁队列 清空队列 进队列 出队列 获取队头元素 获取队列长度 3. 示例 (1) 阅读全文
posted @ 2019-08-08 18:06 free-锻炼身体 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 第21课-递归课后练习 1. permutation.c中的全排列算法只能处理集合中的元素各不相同的情况。设计算法,使其能够对重复元素的集合进行全排列。 2. 编程查找一个迷宫从起点到终点的通路! 提示 (1)可以用一个二维数组表示迷宫。 l 元素1表示障碍。 l 元素0表示可通行。 (2)创建一个 阅读全文
posted @ 2019-08-08 18:04 free-锻炼身体 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 第20课-递归的应用实战二 1. 递归与回溯 (1)递归在程序设计中也常用于需要回溯算法的场合。 (2)回溯算法的基本思想。 ① 从问题的某一种状态出发,搜索可以到达的所有状态。 ② 当某个状态到达后,可向前回退,并继续搜索其它可达状态 ,并继续搜索其它可达状态。 ③ 当所有状态都到达后,回溯算法结 阅读全文
posted @ 2019-08-08 18:03 free-锻炼身体 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 27 下一页