10.1-1 略

10.1-2 把这个数组的头和尾各当成一个stack就好了,如果一个stack在push的过程中发现已经有值了就说明放满了。

10.1-3 略

10.1-4 ENQUE,DEQUE中只要判断一下是否有值,是否没有值就好了

10.1-5 deque就不多说了

10.1-6 两个栈实现一个队列。设栈A和栈B代表这个队列。如果向队列插入一个元素就是向栈A压入一个元素。出队列就是从栈B中弹出一个元素,如果B没有元素,就把A中的元素弹出再压入B。只是出队列的时间复杂度最坏有O(n).

10.1-7 两个队列实现一个栈。入栈就是向一个队列插入。出栈就是从另外一个队列弹出。如果没有的话,就把另外一个队列中的元素弹出再压入这个队列。最坏也可能有O(n)

10.2-1 可以,不可以

10.2-2 在单链表上的头上插入删除。

10.2-3 在单链表上的头删除,在尾巴插入。

10.2-4 key[nil[L]] = k,函数结束的时候在擦掉。好贱。。。。

10.2-5 略。因为在插入删除的时候都需要判断是否有在dictionary里,所以都TMD要扫一遍。所以复杂度是O(n)

10.2-6 因为要O(1)所以单链表的从头扫到尾就不行了,都用double linked lists。把S1和S2拼起来就好了。

10.2-7 只要维护2个指针p,q,next[p]指向q。把next[q]用r存储起来,令指向p。p=q,q=r就好。

10.2-8 我比较在意题目中的Be sure to describe what information is needed to access the head of the list.如果nil[L]中存np的话,得不到head[L],因为需要tail[L]。所以nil[L]的np应该直接存储next, prev和np。每经过一个node,都要用前面的node地址和np做xor,得到下一个node的地址。如果要反着来,就要存储下一个地址,和np做xor,得到上一个node的地址。

10.3-1 略

10.3-2 allocate-object 先判断一下free是否为null,x=free,free=A[x+1]。free-object next[x+1]=free, free=x。

10.3-3 反正allocate出来的东西是用来写的,free出来的东西为的是以后写的,所以不用管啦

10.3-4

转载于:https://www.cnblogs.com/starry4d/archive/2012/10/17/2381660.html

算法导论第10章习题相关推荐

  1. 算法导论第七章习题答案(第三版) Introduction to Algorithm

    Exercises 7.1-1.略. 7.1-2. 返回的q值等于r,当数组中所有元素都相同时,可以将等于主元的值轮流放到两个集合中. 7.1-3 for循环正好是Θ(n)的复杂度,所以PARTITI ...

  2. 位向量(bit vector)(算法导论第十一章11.1-2)

    位向量(bit vector) 位向量(bit vector)是一个仅包含0和1的数组.长度为m的位向量所占空间要比包含m个指针的数组少得多.说明如何用一个位向量来表示一个包含不同元素(无卫星数据)的 ...

  3. 假设一动态集合S用一个长度为m的直接寻址表T来表示。请给出一个查找S中最大元素的过程。(算法导论第十一章11.1-1)

    假设一动态集合S用一个长度为m的直接寻址表T来表示.请给出一个查找S中最大元素的过程.你所给的过程在最坏情况下的运行时间是多少. (算法导论第十一章11.1-1) #include "Key ...

  4. 算法导论第2章(3) 二分查找 binary search

    二分查找(分治法). 二分查找也是一种分治法的实现,每一次查找将数据分为两个部分,问题规模都减小一半.这样查找的时间复杂度为logN.因为其实查找过程建立了一棵有N个节点的二叉树,查找次数是这棵树的高 ...

  5. 算法导论 第7章 快速排序 —— 练习还没做,记得补锅

    今天来学习第七章--快速排序. 作为占据一章的排序,快速排序可谓是重量级选手. 实际排序中最好的选择,因为 (1) 其平均性能非常好,期望实践复杂度为 O(n lgn); (2) 可进行原址排序; ( ...

  6. 重读《算法导论》第一章

    重读<算法导论> --------算法是程序的灵魂! 驱动力:本人从事开发10年有余,目前正在参与研发自动化编程.在代码解析.自动生成.以及源码分析过程中总会遇到一些算法的问题. 所以想着 ...

  7. 算法导论第十三章 红黑树

    写在前面:这一章真的把我害惨了,之前至少尝试看过3遍,每次看之前都下定决定一定要把它拿下,可是由于内容较多,深度够深,以致于每次要不是中途有什么事放弃了就跳过了,要不是花时间太多仍然不能理解而放弃.这 ...

  8. 算法导论练习 10.4-5及12.1-3

    //算法导论10.4-5及12.1-3 //1. 10.4-5 //给定一个n节点的二叉树,写出一个O(n)时间的非递归过程,将该树每个节点的关键 //字输出.要求除该树本身的存储空间外只能使用固定量 ...

  9. 算法导论-3.递归部分习题选

    这一部分主要算法导论中递归式.堆排序和快速排序章节里选择的对我而言较有价值的题目. 练习4.1-1 证明 $T(n)=T(\lceil n/2\rceil)+1$ 的解为 $O(\lg n)$ . 解 ...

最新文章

  1. 智课雅思词汇---五、优词词根字典
  2. php根据地址获取经纬度
  3. static关键字_聊聊static关键字
  4. 最小硬币问题_进行更改的最小硬币数量
  5. Appium Java
  6. 装饰器python的通俗理解_2道极好的Python算法题 | 带你透彻理解装饰器的妙用
  7. 局域网视频共享 php,window_Windows 7媒体库管理音视频文件实现局域网共享, 任务分析 多台电脑连接的家 - phpStudy...
  8. java retainAll
  9. 红外遥控接收头 的引脚参数
  10. 贵州大学计算机网络试题,贵州大学计算机基础考试题库.doc
  11. 玩客云安装mysql_玩客云的使用经验总结
  12. 【国企招聘合集」 运维/java/架构师/前端
  13. 自制时代,七种自动化的基础架构即代码工具(IaC)
  14. PYTHON 编写程序实现以下功能:计算beg到end之间的所有水仙花数并输出。如果beg到end之间不存在水仙花数,则输出“not found”。
  15. autodl 网盘下载transformers内置包很慢解决办法
  16. AFNetworking 返回3840
  17. 微信小程序调用python分析图片_小帅丶干货之图像识别在微信小程序展示
  18. DHT网络 学习笔记
  19. python实战-02-基础语法及pip安装
  20. 如何在手机上收发邮件?

热门文章

  1. 一个既能做CV任务,也能做NLP任务的Transformer模型!谷歌UCLA提出统一的基础模型...
  2. 招博后,比利时鲁汶大学 A2H 部计算机视觉动物行为分析方向
  3. 用CNN做NLP文本分类竞赛
  4. 【OpenCV】OpenCV函数精讲之 -- copyTo()函数及Mask详解(附代码详解)
  5. 重磅开源!《30天吃掉那只 TensorFlow2.0 》(附下载)
  6. 综述 | Google团队发布,一文概览Transformer模型的17大高效变种
  7. 前沿 | 加州理工大学什么是Imitation Learning(模仿学习)
  8. 全局路径规划:图搜索算法介绍1(BFS/DFS)
  9. 自动驾驶车辆转向控制(通过扭矩控制实现方向盘转角控制)
  10. android横向滑动选项卡,android – 如何使用可滑动选项卡实现PageTransformer