首頁(yè) > 計(jì)算機(jī)網(wǎng)絡(luò) >
編程語(yǔ)言與程序設(shè)計(jì)
> Python Data Structures and Algorithms最新章節(jié)目錄
舉報(bào)

會(huì)員
Python Data Structures and Algorithms
最新章節(jié):
Summary
Datastructuresallowyoutoorganizedatainaparticularwayefficiently.Theyarecriticaltoanyproblem,provideacompletesolution,andactlikereusablecode.Inthisbook,youwilllearntheessentialPythondatastructuresandthemostcommonalgorithms.Withthiseasy-to-readbook,youwillbeabletounderstandthepoweroflinkedlists,doublelinkedlists,andcircularlinkedlists.Youwillbeabletocreatecomplexdatastructuressuchasgraphs,stacksandqueues.Wewillexploretheapplicationofbinarysearchesandbinarysearchtrees.Youwilllearnthecommontechniquesandstructuresusedintaskssuchaspreprocessing,modeling,andtransformingdata.Wewillalsodiscusshowtoorganizeyourcodeinamanageable,consistent,andextendableway.Thebookwillexploreindetailsortingalgorithmssuchasbubblesort,selectionsort,insertionsort,andmergesort.
目錄(267章)
倒序
- coverpage
- Title Page
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- Python Objects Types and Expressions
- Understanding data structures and algorithms
- Python for data
- The Python environment
- Variables and expressions
- Variable scope
- Flow control and iteration
- Overview of data types and objects
- Strings
- Lists
- Functions as first class objects
- Higher order functions
- Recursive functions
- Generators and co-routines
- Classes and object programming
- Special methods
- Inheritance
- Data encapsulation and properties
- Summary
- Python Data Types and Structures
- Operations and expressions
- Boolean operations
- Comparison and Arithmetic operators
- Membership identity and logical operations
- Built-in data types
- None type
- Numeric Types
- Representation error
- Sequences
- Tuples
- Dictionaries
- Sorting dictionaries
- Dictionaries for text analysis
- Sets
- Immutable sets
- Modules for data structures and algorithms
- Collections
- Deques
- ChainMaps
- Counter objects
- Ordered dictionaries
- defaultdict
- Named tuples
- Arrays
- Summary
- Principles of Algorithm Design
- Algorithm design paradigms
- Recursion and backtracking
- Backtracking
- Divide and conquer - long multiplication
- Can we do better? A recursive approach
- Runtime analysis
- Asymptotic analysis
- Big O notation
- Composing complexity classes
- Omega notation (?)
- Theta notation (?)
- Amortized analysis
- Summary
- Lists and Pointer Structures
- Arrays
- Pointer structures
- Nodes
- Finding endpoints
- Node
- Other node types
- Singly linked lists
- Singly linked list class
- Append operation
- A faster append operation
- Getting the size of the list
- Improving list traversal
- Deleting nodes
- List search
- Clearing a list
- Doubly linked lists
- A doubly linked list node
- Doubly linked list
- Append operation
- Delete operation
- List search
- Circular lists
- Appending elements
- Deleting an element
- Iterating through a circular list
- Summary
- Stacks and Queues
- Stacks
- Stack implementation
- Push operation
- Pop operation
- Peek
- Bracket-matching application
- Queues
- List-based queue
- Enqueue operation
- Dequeue operation
- Stack-based queue
- Enqueue operation
- Dequeue operation
- Node-based queue
- Queue class
- Enqueue operation
- Dequeue operation
- Application of queues
- Media player queue
- Summary
- Trees
- Terminology
- Tree nodes
- Binary trees
- Binary search trees
- Binary search tree implementation
- Binary search tree operations
- Finding the minimum and maximum nodes
- Inserting nodes
- Deleting nodes
- Searching the tree
- Tree traversal
- Depth-first traversal
- In-order traversal and infix notation
- Pre-order traversal and prefix notation
- Post-order traversal and postfix notation.
- Breadth-first traversal
- Benefits of a binary search tree
- Expression trees
- Parsing a reverse Polish expression
- Balancing trees
- Heaps
- Summary
- Hashing and Symbol Tables
- Hashing
- Perfect hashing functions
- Hash table
- Putting elements
- Getting elements
- Testing the hash table
- Using [] with the hash table
- Non-string keys
- Growing a hash table
- Open addressing
- Chaining
- Symbol tables
- Summary
- Graphs and Other Algorithms
- Graphs
- Directed and undirected graphs
- Weighted graphs
- Graph representation
- Adjacency list
- Adjacency matrix
- Graph traversal
- Breadth-first search
- Depth-first search
- Other useful graph methods
- Priority queues and heaps
- Inserting
- Pop
- Testing the heap
- Selection algorithms
- Summary
- Searching
- Linear Search
- Unordered linear search
- Ordered linear search
- Binary search
- Interpolation search
- Choosing a search algorithm
- Summary
- Sorting
- Sorting algorithms
- Bubble sort
- Insertion sort
- Selection sort
- Quick sort
- List partitioning
- Pivot selection
- Implementation
- Heap sort
- Summary
- Selection Algorithms
- Selection by sorting
- Randomized selection
- Quick select
- Partition step
- Deterministic selection
- Pivot selection
- Median of medians
- Partitioning step
- Summary
- Design Techniques and Strategies
- Classification of algorithms
- Classification by implementation
- Recursion
- Logical
- Serial or parallel
- Deterministic versus nondeterministic algorithms
- Classification by complexity
- Complexity curves
- Classification by design
- Divide and conquer
- Dynamic programming
- Greedy algorithms
- Technical implementation
- Dynamic programming
- Memoization
- Tabulation
- The Fibonacci series
- The Memoization technique
- The tabulation technique
- Divide and conquer
- Divide
- Conquer
- Merge
- Merge sort
- Greedy algorithms
- Coin-counting problem
- Dijkstra's shortest path algorithm
- Complexity classes
- P versus NP
- NP-Hard
- NP-Complete
- Summary
- Implementations Applications and Tools
- Tools of the trade
- Data preprocessing
- Why process raw data?
- Missing data
- Feature scaling
- Min-max scalar
- Standard scalar
- Binarizing data
- Machine learning
- Types of machine learning
- Hello classifier
- A supervised learning example
- Gathering data
- Bag of words
- Prediction
- An unsupervised learning example
- K-means algorithm
- Prediction
- Data visualization
- Bar chart
- Multiple bar charts
- Box plot
- Pie chart
- Bubble chart
- Summary 更新時(shí)間:2021-07-09 19:45:45
推薦閱讀
- Objective-C Memory Management Essentials
- 認(rèn)識(shí)編程:以Python語(yǔ)言講透編程的本質(zhì)
- Django開(kāi)發(fā)從入門到實(shí)踐
- Apex Design Patterns
- Elasticsearch for Hadoop
- 微信小程序項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)
- C語(yǔ)言程序設(shè)計(jì)教程
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- Java網(wǎng)絡(luò)編程核心技術(shù)詳解(視頻微課版)
- 蘋果的產(chǎn)品設(shè)計(jì)之道:創(chuàng)建優(yōu)秀產(chǎn)品、服務(wù)和用戶體驗(yàn)的七個(gè)原則
- Mastering Linux Security and Hardening
- 好好學(xué)Java:從零基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)
- ElasticSearch Cookbook(Second Edition)
- 創(chuàng)意UI:Photoshop玩轉(zhuǎn)APP設(shè)計(jì)
- Learning Python Data Visualization
- LabVIEW數(shù)據(jù)采集
- jQuery Mobile Web Development Essentials(Second Edition)
- 程序員的英語(yǔ)
- Building Scalable Apps with Redis and Node.js
- Performance Testing with JMeter 3(Third Edition)
- C# 7.0核心技術(shù)指南(原書(shū)第7版)
- C#面向?qū)ο蟪绦蛟O(shè)計(jì)(微課版)
- Building Business Websites with Squarespace 7
- ATmega16單片機(jī)C語(yǔ)言程序設(shè)計(jì)經(jīng)典實(shí)例
- 編程之美
- Python Flask Web開(kāi)發(fā)入門與項(xiàng)目實(shí)戰(zhàn)
- C++程序設(shè)計(jì)與案例分析
- Android程序設(shè)計(jì)實(shí)用教程:AndroidStudio版
- Mastering Selenium WebDriver 3.0
- Python數(shù)據(jù)整理