Mastering Algorithms with C 在線電子書 圖書標籤: 算法 C Algorithms 計算機 數據結構 Algorithm 編程 programming
發表於2024-12-27
Mastering Algorithms with C 在線電子書 pdf 下載 txt下載 epub 下載 mobi 下載 2024
跟著書的第二部分把Data structure寫瞭一遍。這本書看上去很厚,實際上很大一部分都是代碼,而且文字很多一部分都是重復的,所以真正的內容不是很多。 優點: 1. 有C語言代碼實例,並且作者在很多平颱上測試過,代碼是沒有問題的 缺點: 1. 數據結構部分都是用linked list來做的,所有有些操作的效率還是比較低的; 2. 語言不是很容易理解,讀起來有點吃力(可能是我英語太差瞭)
評分講解淺入淺齣,適閤簡單瞭解。優點是附代碼讓人有動手欲望。
評分同上,實際工作總算法用得少學習進度就停滯瞭
評分講解淺入淺齣,適閤簡單瞭解。優點是附代碼讓人有動手欲望。
評分副作用是教你如何寫C語言程序,尤其是建立C語言庫
Kyle Loudon是美國加州洛斯加托斯Jeppesen Dataplan公司的一名軟件工程師,主管圖形接口開發小組,主攻航跡規劃軟件的研發,這些軟件主要用於商業航空公司、私營航空部門和其他一些航空製造業。在來到Jeppesen之前,Kyle在IBM公司是一名係統程序員。在技術上,Kyle主要對操作係統、網絡、人機交互等領域感興趣。1992年,Kyle在普渡大學拿到瞭計算機科學學士學位,並取得瞭法語的第二學位,同時他還被選入斐陶斐榮譽學會(美國大學優等生之榮譽學會)。他在普渡大學計算機係教瞭三年的計算機課程。在這期間,他完成瞭他個人的第一本書《Understanding Computers》,這本書用理論結閤實踐的方式介紹計算機的方方麵麵。如今,盡管他繼續工作在矽榖的軟件業,但他仍然堅韌不拔地在追求一個更高的學位。
除瞭計算機,Kyle多年來喜歡打網球、教網球。他還喜歡山地騎行、滑冰,偶爾也和朋友們一起參加高爾夫課程。另外,Kyle還喜歡各種形式的戲劇、美食,以及某些風格的音樂和藝術;他期望成為鋼琴傢和藝術傢,但希望渺茫。他現在在Jeppesen的工作是從他1992年開始駕駛飛機之後找到的。現在,他是一個擁有美國聯邦航空局頒發的商業飛行員執照的飛行員。
This book offers robust solutions for everyday programming tasks, providing all the necessary information to
understand and use common programming techniques. It includes implementations and real-world examples of
each data structure in the text and full source code on the accompanying website
(http://examples.oreilly.com/masteralgoc/). Intended for anyone with a basic understanding of the C language.
Preface
When I first thought about writing this book, I immediately thought of O'Reilly & Associates to publish it. They were the first publisher
I contacted, and the one I most wanted to work with because of their tradition of books covering "just the facts." This approach is not
what one normally thinks of in connection with books on data structures and algorithms. When one studies data structures and
algorithms, normally there is a fair amount of time spent on proving their correctness rigorously. Consequently, many books on this
subject have an academic feel about them, and real details such as implementation and application are left to be resolved
elsewhere. This book covers how and why certain data structures and algorithms work, real applications that use them (including
many examples), and their implementation. Mathematical rigor appears only to the extent necessary in explanations.
Naturally, I was very happy that O'Reilly & Associates saw value in a book that covered this aspect of the subject. This preface
contains some of the reasons I think you will find this book valuable as well. It also covers certain aspects of the code in the book,
defines a few conventions, and gratefully acknowledges the people who played a part in the book's creation.
Bookmarks
Main Page
Table of content
Copyright
Preface
Organization
Key Features
About the Code
Conventions
How to Contact Us
Acknowledgments
Part I: Preliminaries
Chapter 1. Introduction
1.1 An Introduction to Data Structures
1.2 An Introduction to Algorithms
1.3 A Bit About Software Engineering
1.4 How to Use This Book
Chapter 2. Pointer Manipulation
2.1 Pointer Fundamentals
2.2 Storage Allocation
2.3 Aggregates and Pointer Arithmetic
2.4 Pointers as Parameters to Functions
2.5 Generic Pointers and Casts
2.6 Function Pointers
2.7 Questions and Answers
2.8 Related Topics
Chapter 3. Recursion
3.1 Basic Recursion
3.2 Tail Recursion
3.3 Questions and Answers
3.4 Related Topics
Chapter 4. Analysis of Algorithms
4.1 Worst-Case Analysis
4.2 O-Notation
4.3 Computational Complexity
4.4 Analysis Example: Insertion Sort
4.5 Questions and Answers
4.6 Related Topics
Part II: Data Structures
Chapter 5. Linked Lists
5.1 Description of Linked Lists
5.2 Interface for Linked Lists
5.3 Implementation and Analysis of Linked Lists
5.4 Linked List Example: Frame Management
5.5 Description of Doubly-Linked Lists
5.6 Interface for Doubly-Linked Lists
5.7 Implementation and Analysis of Doubly Linked Lists
5.8 Description of Circular Lists
5.9 Interface for Circular Lists
5.10 Implementation and Analysis of Circular Lists
5.11 Circular List Example: Second-Chance Page Replacement
5.12 Questions and Answers
5.13 Related Topics
Chapter 6. Stacks and Queues
6.1 Description of Stacks
6.2 Interface for Stacks
6.3 Implementation and Analysis of Stacks
6.4 Description of Queues
6.5 Interface for Queues
6.6 Implementation and Analysis of Queues
6.7 Queue Example: Event Handling
6.8 Questions and Answers
6.9 Related Topics
Chapter 7. Sets
7.1 Description of Sets
7.2 Interface for Sets
7.3 Implementation and Analysis of Sets
7.4 Set Example: Set Covering
7.5 Questions and Answers
7.6 Related Topics
Chapter 8. Hash Tables
8.1 Description of Chained Hash Tables
8.2 Interface for Chained Hash Tables
8.3 Implementation and Analysis of Chained Hash Tables
8.4 Chained Hash Table Example: Symbol Tables
8.5 Description of Open-Addressed Hash Tables
8.6 Interface for Open-Addressed Hash Tables
8.7 Implementation and Analysisof Open Addressed Hash Tables
8.8 Questions and Answers
8.9 Related Topics
Chapter 9. Trees
9.1 Description of Binary Trees
9.2 Interface for Binary Trees
9.3 Implementation and Analysis of Binary Trees
9.4 Binary Tree Example: Expression Processing
9.5 Description of Binary Search Trees
9.6 Interface for Binary Search Trees
9.7 Implementation and Analysis of Binary Search Trees
9.8 Questions and Answers
9.9 Related Topics
Chapter 10. Heaps and Priority Queues
10.1 Description of Heaps
10.2 Interface for Heaps
10.3 Implementation and Analysis of Heaps
10.4 Description of Priority Queues
10.5 Interface for Priority Queues
10.6 Implementation and Analysis of Priority Queues
10.7 Priority Queue Example: Parcel Sorting
10.8 Questions and Answers
10.9 Related Topics
Chapter 11. Graphs
11.1 Description of Graphs
11.2 Interface for Graphs
11.3 Implementation and Analysis of Graphs
11.4 Graph Example: Counting Network Hops
11.5 Graph Example: Topological Sorting
11.6 Questions and Answers
11.7 Related Topics
Part III: Algorithms
Chapter 12. Sorting and Searching
12.1 Description of Insertion Sort
12.2 Interface for Insertion Sort
12.3 Implementation and Analysis of Insertion Sort
12.4 Description of Quicksort
12.5 Interface for Quicksort
12.6 Implementation and Analysis of Quicksort
12.7 Quicksort Example: Directory Listings
12.8 Description of Merge Sort
12.9 Interface for Merge Sort
12.10 Implementation and Analysis of Merge Sort
12.11 Description of Counting Sort
12.12 Interface for Counting Sort
12.13 Implementation and Analysis of Counting Sort
12.14 Description of Radix Sort
12.15 Interface for Radix Sort
12.16 Implementation and Analysis of Radix Sort
12.17 Description of Binary Search
12.18 Interface for Binary Search
12.19 Implementation and Analysis of Binary Search
12.20 Binary Search Example: Spell Checking
12.21 Questions and Answers
12.22 Related Topics
Chapter 13. Numerical Methods
13.1 Description of Polynomial Interpolation
13.2 Interface for Polynomial Interpolation
13.3 Implementation and Analysis of Polynomial Interpolation
13.4 Description of Least-Squares Estimation
13.5 Interface for Least-Squares Estimation
13.6 Implementation and Analysis of Least-Squares Estimation
13.7 Description of the Solution of Equations
13.8 Interface for the Solution of Equations
13.9 Implementation and Analysis of the Solution of Equations
13.10 Questions and Answers
13.11 Related Topics
Chapter 14. Data Compression
14.1 Description of Bit Operations
14.2 Interface for Bit Operations
14.3 Implementation and Analysis of Bit Operations
14.4 Description of Huffman Coding
14.5 Interface for Huffman Coding
14.6 Implementation and Analysis of Huffman Coding
14.7 Huffman Coding Example: Optimized Networking
14.8 Description of LZ77
14.9 Interface for LZ77
14.10 Implementation and Analysis of LZ77
14.11 Questions and Answers
14.12 Related Topics
Chapter 15. Data Encryption
15.1 Description of DES
15.2 Interface for DES
15.3 Implementation and Analysis of DES
15.4 DES Example: Block Cipher Modes
15.5 Description of RSA
15.6 Interface for RSA
15.7 Implementation and Analysis of RSA
15.8 Questions and Answers
15.9 Related Topics
Chapter 16. Graph Algorithms
16.1 Description of Minimum Spanning Trees
16.2 Interface for Minimum Spanning Trees
16.3 Implementation and Analysis of Minimum Spanning Trees
16.4 Description of Shortest Paths
16.5 Interface for Shortest Paths
16.6 Implementation and Analysis of Shortest Paths
16.7 Shortest Paths Example: Routing Tables
16.8 Description of the Traveling-Salesman Problem
16.9 Interface for the Traveling-Salesman Problem
16.10 Implementation and Analysis of the Traveling-Salesman Problem
16.11 Questions and Answers
16.12 Related Topics
Chapter 17. Geometric Algorithms
17.1 Description of Testing Whether Line Segments Intersect
17.2 Interface for Testing Whether Line Segments Intersect
17.3 Implementation and Analysis of Testing Whether Line Segments Intersect
17.4 Description of Convex Hulls
17.5 Interface for Convex Hulls
17.6 Implementation and Analysis of Convex Hulls
17.7 Description of Arc Length on Spherical Surfaces
17.8 Interface for Arc Length on Spherical Surfaces
17.9 Implementation and Analysis of Arc Length on Spherical Surfaces
17.10 Arc Length Example: Approximating Distances on Earth
17.11 Questions and Answers
17.12 Related Topics
Colophon
index
本书的最大特点是有源代码,所以非常非常适合大一大二的同学用来完成数据结构的大作业,自己写个测试用例就好了……另外,配图非常好,看起来非常舒服。书中的例子只能说是完成了基本功能,有些例子还有可以优化的地方。 只看过中文版,有些句子完全和上下文无关,不清楚是原...
評分这是一本经典的关于C语言的数据结构和算法的书籍,年代比较久远了,但里面的内容完全没有过时。对于学生和刚工作不久的工程师来说,绝对是一本比较好的打好基础的书。书中有的完整的源代码和示例,较易理解其算法过程。出版商是国外知名的O'Reilly,这个就不用多介绍了,呵呵。...
評分这是继《数据结构与算法分析:C语言描述》和《算法技术手册》后又一本适用于算法、数据结构新手的经典书。但是后面数值计算、数据压缩、数据加密、图算法、几何算法那几章,每章就写20+页,有点儿坑了~但在熟悉了《C Interface and Implementations》和《Object-oriented Prog...
評分这是继《数据结构与算法分析:C语言描述》和《算法技术手册》后又一本适用于算法、数据结构新手的经典书。但是后面数值计算、数据压缩、数据加密、图算法、几何算法那几章,每章就写20+页,有点儿坑了~但在熟悉了《C Interface and Implementations》和《Object-oriented Prog...
評分这是一本经典的关于C语言的数据结构和算法的书籍,年代比较久远了,但里面的内容完全没有过时。对于学生和刚工作不久的工程师来说,绝对是一本比较好的打好基础的书。书中有的完整的源代码和示例,较易理解其算法过程。出版商是国外知名的O'Reilly,这个就不用多介绍了,呵呵。...
Mastering Algorithms with C 在線電子書 pdf 下載 txt下載 epub 下載 mobi 下載 2024