算法导论 华章第三版 习题
##练习题2.1-2
重写过程INSERTION-SORT,使之按非升序排序。
伪代码思路1:

for j=A.length-1 to 1key=A[j]i=j+1while i<A.length+1 and A[i]>kA[i-1]=A[i]i=i+1A[i-1]=key

所有排好序的序列都放在数组A的右边,从右到左遍历整个A,将其插入到右面有序的序列中
伪代码思路2:
所有排好序的序列仍然都放在数组A的左边,

for j=2 to A.lengthkey=A[j]i=j-1while i>0 and A[i]<keyA[i+1]=A[i]i=i-1A[i+1]=key

##练习题2.1-3
考虑以下查找问题:
输入:n个数的一个序列A=<a1,a2,…,an>和一个值v。
输出:下标i使得v=A[i]或者当v不在A中出现时,v为特殊值NIL。
写出线性查找的伪代码,它扫描整个序列来查找v。使用一个循环不变式来证明你的算法是正确的。确保你的循环不变式满足三条必要的性质。

for i=1 to A.lengthif A[i]==vreturn i
return NIL

##练习题2.1-4
考虑把两个n位二进制整数加起来的问题,这两个整数分别存储在两个n元数组A和B中。这两个整数的和应按二进制形式存储在一个(n+1)元数组C中。请给出该问题的形式化描述,并写出伪代码。

for i=1 to nval =A[i]+B[i]if val==0C[i]+=0else if val==1C[i]+=1else if val==2C[i]+=0C[i+1]+=1else if val==3C[i]+=1C[i+1]+=1

##练习题2.2-2
考虑排序存储在数组A中的n个数:首先找出A中的最小元素并将其与A[1]中的元素进行交换。接着,找出A种的次最小元素并将其与A[2]中的元素进行交换。对A中前n-1个元素按该方式继续。该算法成为选择算法,写出其伪代码。该算法维持的循环不变式是什么?为什么它只需要对前n-1个元素,而不是对所有n个元素运行,用theta记号给出选择排序的最好情况与最坏情况运行时间。

min=+inv
for i=1 to n-1for j=i to n-1if A[j]<minmin=A[j]j_min=jexchange=A[i]A[i]=A[j_min]A[j_min]=exchange
theta(n方)???

算法导论习题(持续更新)相关推荐

  1. 有关树的常见算法汇总【持续更新中】

    关于数据结构中--树的算法汇总[持续更新中] 0.树的顺序和链式存储结构 [完成] 1.树的前序遍历(递归和非递归java实现) [完成] 2.树的中序遍历(递归和非递归java实现) [完成] 3. ...

  2. 算法导论习题—主方法求渐进紧确界、递归树方法

    算法导论习题-主方法求渐进紧确界.递归树方法 4.5-1 a. T(n)=2T(n/4)+1T ( n ) = 2 T ( n / 4 ) + 1T(n)=2T(n/4)+1 b. T(n)=2T(n ...

  3. 算法导论习题,思考题题解博主录

    算法导论最好结合课后习题来看,以查漏补缺,检验自己对知识的掌握和理解水平 我在看的过程中,参考了以下博主的博客 http://blog.csdn.net/longhuihu?viewmode=cont ...

  4. 算法导论习题—二叉搜索树、红黑树、区间树

    算法基础习题-二叉搜索树.红黑树.区间树 1.二叉搜索树: 2.红黑树: 3.区间树: 1.二叉搜索树: 设 T T T是一棵二叉搜索树,其关键字互不相同;设 x x x是一个叶结点, y y y为其 ...

  5. 算法导论习题C.2-9答案

    题目:你参加一个游戏.该游戏将奖品藏在了三个幕布之后.如果你选对了幕布,则可以赢得奖品.在你选择了一个幕布后,但是幕布还没有揭开之前,支持人会揭开另两个幕布中的一个空幕布(支持人知道哪个幕布后是空的) ...

  6. 数据结构与算法复习(持续更新中)

    目录 数组 为什么很多编程语言中数组都从0开始编号? 如何实现随机访问 数组和链表的区别 链表 栈 函数调用栈来保存临时变量,为什么函数调用要用"栈"来保存临时变量呢?用其他数据结 ...

  7. 开源3D激光(视觉)SLAM算法汇总(持续更新)

    目录 一.Cartographer 二.hdl_graph_slam 三.LOAM 四.LeGO-LOAM 五.LIO-SAM 六.S-LOAM 七.M-LOAM 八.livox-loam 九.Liv ...

  8. ACM所有算法大全(持续更新)

    转载自: http://blog.sina.com.cn/s/blog_adb6743801019h29.html ACM 所有算法 数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列 双端队列 ...

  9. 【MATLAB第6期】基于MATLAB的粒子群及若干改进的粒子群算法原理介绍 持续更新

    一.经典粒子群PSO算法 1 思想来源 粒子群优化(Particle Swarm Optimization,PSO) 作为进化计算的一个分支,是由 Eberhart 和 Kennedy 于 1995 ...

  10. 算法思想(持续更新...)

    文章目录 二分法 递归 分而治之(D&C,divide and conquer) 贪婪算法 背包问题 集合覆盖问题 NP完全问题 动态规划 再探背包问题 细节补充 二分法 参照二分查找. 递归 ...

最新文章

  1. 电脑开机一会就蓝屏怎么回事_客户电脑老是出现问题,三天来找三次麻烦!拆机后“真凶”大白!...
  2. 在windows上Matlab 编译MatConvNet
  3. 软件项目周报_有关细节、效率、周报和扯淡
  4. 麒麟980+巴龙5000!华为Mate 20 X 5G版通过3C认证:支持40W快充
  5. 自定义控件的构建(10)
  6. 百度要召集 600 名深度学习开发者搞事情? 首届深度学习开发者峰会等你来
  7. html自动跳转到锚点,html中的锚点
  8. 台式计算机模拟软件,全国计算机一级Office2010+win7版考试模拟软件
  9. 霍尔在光伏发电系统中的应用与产品选型
  10. 营养保健品公司网站建设策划书
  11. 只有PHP大牛才能读懂的内涵图
  12. iPad/iPhone内存管理四之viewDidUnload/dealloc详细解说
  13. html 订阅发布,发布订阅模式.html · Avan/blog_demo_defineProperty - Gitee.com
  14. 力扣765——情侣牵手(贪心+BFS)
  15. 材料专业毕业生的真实工作状况
  16. 2019年年终个人总结
  17. 思维题 URAL 1409 Two Gangsters
  18. python修改桌面壁纸_python设置windows桌面壁纸的实现代码
  19. K近邻分类器(李飞飞CS231n学习笔记---lecture2:K最近邻算法)
  20. 全球24个时区的划分

热门文章

  1. 高频面试题—聊一下Euraka的注册原理
  2. erphpdown9.2.7前台会员中心美化模板
  3. 【超图+CESIUM】【基础API使用示例】34、超图|CESIUM - 绘制光流流光线段
  4. H5+CSS3面试题
  5. 华为 IPD 集成产品开发流程的缺点和适用局限性
  6. 如何自动化入侵海康设备
  7. 联邦学习 OR 迁移学习?联邦迁移学习不香吗
  8. 服务器怎么开启lldp协议,修改服务器lldp的mac地址
  9. 数据库周刊40丨OceanBase官网上线开发者社区;人民日报关注易鲸捷;2020中国系统架构师大会10月线上召开;数据库迁移经验分享;MySQL大表超字段问题;SQL高级知识;Oracle等待事件
  10. linux awr 日志,生成AWR报告