重读《算法导论》.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
重读算法导论 记得多年前学数据结构的时候作为教材的延伸读物我拜读了算法导论,当时有选择的读了大约 2/3 的东西,只学理论和算法实在枯燥,看书之余动手写了其中的一些算法,但是由于实在不知道这些知识有什么用处,剩余的 1/3 大部分是一些具体的理论推导和稍微复杂的算法。 那么,为什么近期又重读这本算法著作呢? 首先就是我遇到问题了,在前一阵的工作中频繁出现红黑树的分析问题,我不得不根据红黑树的排列去查找 STL Map 中的内容,每次出现问题都要去内存中找出有用的状态。 其次就是在研究 V8 的时候我觉得有必要系统的研究一下编译器实现, 于是研究了一段时间的龙书,那段时间一直是遇到问题后直接 google 一下,始终觉得不爽。 基于以上的原因,在这周一的时候,我开始重读了这本算法名著。 也许是因为五年的工作积累吧,我重读算法导论有一种说不出的亲切感,其实自己的实际工作中好多的想法和算法导论上面讲的理论如出一辙,并且再看其中的一些算法的时候也不会觉得枯燥,因为现在已经不只是理论,每一个抽象的理论都似乎有一个生动的例子。 比如最大堆算法,最小堆算法,上学的时候看他们的感觉是,这东西有什么用?先学习一下吧。 现在重温的时候的感觉是,TOP K 算法的时候不就可以以最小堆实现么.. 算法代码如下: void TopKAlgorithm(int inputArray[], int nInputLength, int nOutputLength ) { //construct the minimum heap the size is K vectorint vec(inputArray,inputArray+nOutputLength); make_heap (vec.begin(),vec.end(), greaterint()); for(int i=nOutputLength; i10; i++) { if(inputArray[i] = vec[0]) { vec[0] = inputArray[i]; make_heap (vec.begin(),vec.end(), greaterint()); } } for(int i=0; inOutputLength; i++) { inputArray[i]=vec[i]; } } 总结和建议 我写这篇文章的目的有两个,第一,记得有个哲学家说过,人不能两次踏入同一条河流,所以人在有了一定的经历之后对一些东西的看法可能不同或者更深刻,所以建议经典的好书拿出来翻翻说不定会有新 的收获,第二,我想说的是理论和实践结合了可能会产生出更大的能 的收获,第二,我想说的是理论和实践结合了可能会产生出更大的能 量,而且这个时候理论也不会显的那么枯燥,共勉..

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档