- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
基本上,我正在尝试使用 Python 学习一些非常基本的数据结构和算法。然而,我认为在尝试实现这些算法时,我不知不觉地开始使用 python tricks 一点,即使是像下面这样简单的,任何想象都不会被认为是技巧
for i, item in enumerate(arr):
# Algo implementation
或
if item in items:
# do something
我不知道要遵循的一般准则是什么,这样我才能掌握要实现的算法。
最佳答案
用Python的技术解决问题是可以的。主要的异常(exception)是当 Python 为您做某事而您想了解如何这件事是如何完成的。一个例子是 Python's heapq --如果您的目的是了解如何使用二叉堆结构来实现优先级队列,则不能直接使用它。当然,您可以阅读源代码并通过这种方式学到很多东西。
可以帮助您的一件事是阅读一本基于 Python 的数据结构和算法书籍。那么您就可以放心,Python 不会被用来跳过重要的主题——至少,如果这本书还不错的话。
其中一本书是 Problem Solving with Algorithms and Data Structures .另一个是 Classic Computer Science Problems in Python .第一本书是免费的 PDF 下载,但我相信有一个更新的版本不是免费的。第二个不是免费的,但您可以在 the publisher's web site 获得 40% 的折扣。如果您使用折扣码 mentioned in the Talk Python to Me podcast .我现在正在研究后一本书,以提醒我很久以前上过的课。
至于推荐,价格可能是您的决定性因素。两本书的侧重点也不一样。第一种是较旧的,使用更通用的 Python 而没有使用 Python 的许多特殊功能。它也更接近教科书,更深入地探讨其主题。例如,它涵盖了诸如执行复杂性之类的内容。然而,PDF 版本所涵盖的主题不如我所见过的其他版本。例如,PDF 不包含图表(网络),另一个版本(我现在找不到)包含。
第二个是最近的,使用 Python 3.7 的特性,例如类型提示。它也更像是介绍或评论。我想我可以用“合理使用”来引用书中的相关部分:
Who is this book for?
This book is for both intermediate and experienced programmers. Experienced programmers who want to deepen their knowledge of Python will find comfortably familiar problems from their computer science or programming education. Intermediate programmers will be introduced to these classic problems in the language of their choice: Python. Developers getting ready for coding interviews will likely find this book to be valuable preparation material.
In addition to professional programmers, students enrolled in undergraduate computer science programs who have an interest in Python will likely find this book helpful. It makes no attempt to be a rigorous introduction to data structures and algorithms. This is not a data structures and algorithms textbook. You will not find proofs or extensive use of big-O notation within its pages. Instead, it is positioned as an approachable, hands-on tutorial to the problem-solving techniques that should be the end product of taking data structure, algorithm, and artificial intelligence classes.
Once again, knowledge of Python’s syntax and semantics is assumed. A reader with zero programming experience will get little out of this book, and a programmer with zero Python experience will almost certainly struggle. In other words, Classic Computer Science Problems in Python is a book for working Python programmers and computer science students.
关于python - 学习算法时如何使用python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57434823/
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
介绍篇 什么是MiniApis? MiniApis的特点和优势 MiniApis的应用场景 环境搭建 系统要求 安装MiniApis 配置开发环境 基础概念 MiniApis架构概述
我正在从“JavaScript 圣经”一书中学习 javascript,但我遇到了一些困难。我试图理解这段代码: function checkIt(evt) { evt = (evt) ? e
package com.fastone.www.javademo.stringintern; /** * * String.intern()是一个Native方法, * 它的作用是:如果字
您会推荐哪些资源来学习 AppleScript。我使用具有 Objective-C 背景的传统 C/C++。 我也在寻找有关如何更好地开发和从脚本编辑器获取更快文档的技巧。示例提示是“查找要编写脚本的
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
关闭。这个问题不符合 Stack Overflow guidelines 。它目前不接受答案。 想改善这个问题吗?更新问题,以便堆栈溢出为 on-topic。 6年前关闭。 Improve this
我是塞内加尔的阿里。我今年60岁(也许这是我真正的问题-笑脸!!!)。 我正在学习Flutter和Dart。今天,我想使用给定数据模型的列表(它的名称是Mortalite,请参见下面的代码)。 我尝试
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
学习 Cappuccino 的最佳来源是什么?我从事“传统”网络开发,但我对这个新框架非常感兴趣。请注意,我对 Objective-C 毫无了解。 最佳答案 如上所述,该网站是一个好地方,但还有一些其
我正在学习如何使用 hashMap,有人可以检查我编写的这段代码并告诉我它是否正确吗?这个想法是有一个在公司工作的员工列表,我想从 hashMap 添加和删除员工。 public class Staf
我正在尝试将 jQuery 与 CoffeScript 一起使用。我按照博客中的说明操作,指示使用 $ -> 或 jQuery -> 而不是 .ready() 。我玩了一下代码,但我似乎无法理解我出错
还在学习,还有很多问题,所以这里有一些。我正在进行 javascript -> PHP 转换,并希望确保这些做法是正确的。是$dailyparams->$calories = $calories;一条
我目前正在学习 SQL,以便从我们的 Magento 数据库制作一个简单的 RFM 报告,我目前可以通过导出两个查询并将它们粘贴到 Excel 模板中来完成此操作,我想摆脱 Excel 模板。 我认为
我知道我很可能会因为这个问题而受到抨击,但没有人问,我求助于你。这是否是一个正确的 javascript > php 转换 - 在我开始不良做法之前,我想知道这是否是解决此问题的正确方法。 JavaS
除了 Ruby-Doc 之外,哪些来源最适合获取一些示例和教程,尤其是关于 Ruby 中的 Tk/Tile?我发现自己更正常了 http://www.tutorialspoint.com/ruby/r
我只在第一次收到警告。这正常吗? >>> cv=LassoCV(cv=10).fit(x,y) C:\Python27\lib\site-packages\scikit_learn-0.14.1-py
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
我是一名优秀的程序员,十分优秀!