好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

有了Python是不是不需要学数据结构,算法了?

回复内容: Python 的 list 是怎么回事,为什么有近乎无限大小的空间?为什么专门有一个固定长度且不能修改的数据结构 tuple 而不全用 list? list 的 insert 和 append 的费时是一样的吗? Python 的 dict 是怎么回事,为什么可以用字符串数字等等东西来索引?是怎么搜索的?在 dict 中找一个元素,和在 list 里面找一个元素有什么区别? Python 内置的 list, dict, set, ...数据结构,你应该在什么样的场景下使用? 小明家大姨开了小卖部,觉得小明是学编程的各种高大上,需要用 Python 写一个找零钱的程序,输入任意整数, 输出如何找零钱需要的张数最少,小明应该如何写? 忘记从哪里听过这句话了,个人觉得很适合回答你这个问题:

“虽然当下大部分流行的高级语言都自带了对常用数据结构的支持,而且多半你无法给出更加优秀的实现,但是继续学习数据结构的动力在于: 它让你学会选择一个正确且合适的数据结构去解决一个具体的问题。 ”

尤其是Python这样的语言,built-in的这些数据结构:list, dict, set...似乎是万能的(的确,有些时候确实是万能的)。但如果你了解它们背后的具体实现,就会发现,看似完美的数据结构,却未必是合适之选。 比如内存空间惜“字”如金,主要目的是顺序存取,而完全不需要动态扩展的情况下,list就没有传统的array合适,具体的原因可以去了解一下list的实现原理 。

推荐一本书吧: 《Data Structures and Algorithms Using Python》 ,网上可以下载到高清的pdf。书中除了讲述了几种常用数据结构栈、队列、二叉树等的Python实现,特别值得推荐的是,还对Python的几个built-in数据结构的实现进行了具体的分析。相信会有帮助。唯一不足的是,只有英文版的,耐心读一下吧,会有一种豁然开朗的感觉。

+++++++++++++++++++++++++++分割线+++++++++++++++++++++++++++++++++

补充:
这本书后面部分的样例代码有点混乱,混杂了Python 2.x 和 Python 3.x ,需要留意区分一下。

附上一个下载链接吧:
Data Structures and Algorithms Using Python.pdf_免费高速下载 python程序员学习路线图 python+ 数据结构和算法 + linux + 软件工程 + web开发 + git版本控制+ 沟通技巧等等。 当然不是。这么明显的问题还用问吗? Python是种语言。

数据结构和算法教你如何高效的使用各种语言。

所以如果想高效使用Python,是需要学算法和数据结构。

查看更多关于有了Python是不是不需要学数据结构,算法了?的详细内容...

  阅读:38次

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网
[ SiteMap ]