Which books use Python to talk about algorithms and data structures?

Source: Internet
Author: User
0 reply: 1. Python Data Structure

For more information about Data Structures, see [Problem Solving with Python] (Welcome to Problem Solving with Algorithms and Data Structures ) [The link to this website may be slow]. Of course, it also integrates some [Introduction to Algorithms] (Introduction to Algorithms In addition, there are a lot of content on wikipedia, so there is a lot of content, it may be a bit messy. This section mainly introduces how to use Python to implement common data structures, such as stacks, queues, binary trees, and so on. It also provides Python's built-in data structure performance analysis, it also includes a brief summary of search and sorting (which will be described in more detail in the algorithm design article. Every article has implementation code with a lot of content. Simple algorithms generally give a general introduction to ideas and algorithm flows. complex algorithms provide various diagrams and code implementation details.

** This part is the first part of the algorithm design Article below. If the data structure is good, you can directly read the algorithm design article. If you have any problems, you can come back and check a specific content in the Data Structure Article to charge it, I personally think it is better to directly read the algorithm design article, because everyone's time is precious. If you will read these articles, it means you must have a certain foundation, the later part of the article on algorithm design is more about ideas. Here we are more about code. **

(1) [Search] (Python Data Structures )

Briefly describe sequential search and binary search, and describe Hash search (Design of hash function and how to avoid conflicts)

(2) [sort] (Python Data Structures )

Briefly describe the ideas of various sorting algorithms and their illustration and implementation

(3) [Data structure] (Python Data Structures )

Briefly describe the Performance Analysis and Implementation of Python's built-in data structure common data structures: Stack, queue, and binary heap

(4) [tree Summary] (Python Data Structures )

Describe Binary Tree, and describe the thoughts and implementations of Binary Search Tree and AVL Tree.

2. Python Algorithm Design

Algorithm Design: [Python Algorithms: Mastering Basic Algorithms in the Python Language] (Python Algorithms: Mastering Basic Algorithms in the Python Language ) [** Click the link to go to Springer to download an electronic version of the original book for free **] and then write a reading summary. Most of the content of the original book is combined with the classic book [Introduction to Algorithms] (Introduction to Algorithms ), The content is more detailed, mainly introduces a variety of common algorithm design ideas, and how to use Python to efficiently and skillfully implement these algorithms. Here is different from the previous data structure article, some algorithms, such as sorting, do not detail their implementation details, but focus on their internal algorithm ideas. This part uses some third-party modules related to the data structure. Because this article focuses on the idea and implementation of algorithms, it does not re-implement each data structure, however, when introducing algorithms, we will analyze the advantages and disadvantages of Python's built-in data structure and third-party data structure modules, which means this article is much more difficult than above, however, I think my introduction should be simple and clear, because I use simple languages and do not list a bunch of properties and theorems like introduction to algorithms, I think about a problem step by step and the algorithm will come out. Hey hey, there are a lot of things about python development in addition to this. You can't miss it!

Every article here has implementation code, but I usually don't analyze the code. It is more about analyzing algorithm ideas, so there are more content, even so, it does not include all the content in the corresponding chapter of the original book. Because the content is too rich, I just choose a classic algorithm instance to introduce the core idea of the algorithm. In addition, there is still a lot of content that is not available in the original book, partly from the introduction to algorithms, and partly from my own insights. This article is a small dish for the great gods. Please smile, it may be a bit difficult for cainiao, so the most suitable one is similar to mine, I have some knowledge of various algorithms, but I still don't have a deep understanding of the half-bucket program. Hey hey.

The sequence of this article is as follows: [Python Algorithms: Mastering Basic Algorithms in the Python Language] (Python Algorithms: Mastering Basic Algorithms in the Python Language ), To save time and maintain the original flavor, part of the content (generally difficult to translate and understand) directly extract from the original English content.

** 1. you may think that you know a lot about the content, but it is not necessary to read it. In fact, if it is me, I will also think so. But if it is just to sum up the steps of an algorithm, this summary is meaningless. I think the highlight of this summary is to find a way to clarify how an algorithm is created, what needs attention, and how to optimize it, the Q & A method is used to allow readers and me to come up with a solution to a specific problem. Each article will have one or two questions to answer later **

** 2. you may also say that the introduction to algorithms is not both authoritative and comprehensive. Basically, every algorithm has a detailed proof. Isn't it better to read the introduction to algorithms? Of course, if you want to read the introduction to algorithms, I will not stop you. After reading the introduction, I feel like you are not good at all. Don't blame your younger brother for not reminding you, the right theorem of the left nature is not suitable for algorithm science, and few people can stick to it. But there are not many stories about codoon and snakes **

** 3. If you carefully read this series, I promise you will have a lot of GAINS. I will give you a prompt when you need to look at the part of the introduction to algorithms. Note: the first three sections are about the basic knowledge, so the wonderful content starts from section 4th, and the wonderful content is from ~ **

(1) [Python Algorithms-C1 Introduction] (Python Algorithms )

This section briefly introduces the content in the original book, describes the importance of algorithms and the summary of each chapter.

(2) [Python Algorithms-C2 The basics] (Python Algorithms )

** This section describes three methods: Representation of the algorithm's approximate running time, six algorithm performance evaluations, and implementation of the tree and graph in Python. **

(3) [Python Algorithms-C3 Counting 101] (Python Algorithms )

The original book mainly introduces some basic mathematics, such as arrangement and combination and recursive loops. However, this section only focuses on three methods for calculating the algorithm running time.

(4) [Python Algorithms-C4 Induction and Recursion and ction] (Python Algorithms )

** This section describes three core knowledge of Algorithm Design: Induction, Recursion, and Reduction. This is the focus and difficulty of the original book **

(5) [Python Algorithms-C5 Traversal] (Python Algorithms )

** This section describes the graph Traversal Algorithms BFS and DFS, as well as the Topology Sorting method and the (strong) graph-searching algorithm **

(6) [Python Algorithms-C6 Divide and Combine and Conquer] (Python Algorithms )

** This section mainly introduces the divide and conquer policy, and mentions the balance of the tree problem and the Sorting Algorithm Based on the divide and conquer policy **

(7) [Python Algorithms-C7 Greedy] (Python Algorithms )

** This section describes the greedy policy through several examples, including the knapsack problem, the Harman encoding, and the minimal spanning tree **

(8) [Python Algorithms-C8 Dynamic Programming] (Python Algorithms )

** This section describes the implementation methods of the Memorandum and iterative method of dynamic planning based on some typical dynamic planning issues, and compares the two methods **

(9) [Python Algorithms-C9 Graphs] (Python Algorithms )

** This section describes various Shortest Path Algorithms in graph algorithms and reveals their kernels and similarities and differences from different perspectives. ** visualized data structures and algorithms
Http://coolshell.cn/articles/4671.html One Data Structures and Algorithms with Object Oriented Design Patterns in Python, Author Bruno R. Preiss
Http://www.brpreiss.com/
I am a beginner in Python. I recently read the data structure open course. I think it is quite enjoyable to write Python code like this.
  • Annotated Algorithms in Python: With Applications in Physics, Biology, and Finance-Practical Application of python in the algorithm Field
  • Python Algorithms 2014: Mastering Basic Algorithms in the Python Language.
  • Data Structure and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles
Medium:
Python algorithm tutorial (Douban)

English:
Python Algorithms (Douban) Problem Solving with Algorithms and Data Structures using Python
Author: Brad Miller and David Ranum
Reference: bbt0000.org Introduction to Algorithms 3 edPython Algorithms is a good Goodrich & Tamassia series:

Data Structures and Algorithms in Python.


Several versions of the most popular Java version have been released, and the Python version is now available.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.