Algorithms In C++, Parts 1-4:Fundamentals, Data Structures, Sorting, and Searching

副标题:无

作   者:[美]Robert Sedgewick[著]

分类号:

ISBN:9787040113983

微信扫一扫,移动浏览光盘

简介

  本书通过C++实现方案以简洁、直接的方式对书中的算法和数据结构进行表述,并向学生提供在实际应用中验证这种方法的手段。     本书广泛地论述了与排序、搜索及相关应用有关的基本数据结构和算法。覆盖了数组、链表、串、树和其他基本数据结构,更多地强调抽象数据类型(ADT)、模块化程序设计、面向对象程序设计和C++类。本书包括排序、选择、优先队列ADT实现和符号表ADT(搜索)实现,配有帮助学生学习计算机算法特性的1000多种新练习、100多个图表以及大量的程序例子。     Robert Sedgewick完全重定了他的著作,对它进行了充分的扩展和更新,涵盖了目前重要的算法和数据结构。Christopher Van Wyk和Sedgewick开发的新实现采用的是C++语言,这种实现不仅能简洁直接地表达算法,而且给编程者提供了实践的方法,以便在真正的应用中测试这些算法。     新的版本提供了很多新算法,而且对每个算法的解释也比以前的版本详细得多。新的版面设计以及详细、富有创意并且具有注释的插图,使本书的表达能力大大地提高了。第三版保留了将理论和实践成功混合在一起的特点,正是这一点,使Sedgewick的著作成为25万多名程序员无价的参考资源。     本书是全卷的前半部分,涵盖了基本的数据结构、排序算法、搜索算法以及它们的相关应用。虽然本书实质上可以用于各种语言的程序设计,Christopher Van Wyk和Sedgewick的实现都采用了C++类和ADT实现的自然对应。     本书的精彩内容包括:    ·扩展了对数组、链表、字符串树及其他基本数据结构的介绍。    ·比以前的版本更中着重于抽象数据类型(ADT)、模块化程序设计方法、面向对象的程序 设计方法和C++类。    ·有关排序、选择、优先级队列ADT实现和符号表ADT(搜索)实现的算法,超过100个。    ·关于二项式队列、多路基数排序、随机化BST、发散树、跳跃表、多叉线索、B树、可扩充散列等,采用了新的实现。    ·关于算法的量化分析,是比较算法的依据。    ·1000多条新的练习,帮助读者学习算法。     无论是你初学算法,还是想找一本将最新C++经典算法和新算法融入程序设计的参考手册,你都会发现本书提供了丰富的有用信息。  

目录

fundamentals

chapter 1. introduction 3

1.l algorithms' 4

l.2 a sample problem-connectivity' 7

1.3 union-find algorithms' 11

1.4 perspective' 22

1.5 summary of topics' 24


chapter 2. principles of algorithm analysis 27

2.1 implementation and empirical analysis' 28

2.2 analysis of algorithms' 33

2.3 growth of functions' 36

2.4 big-oh notation' 44

2.5 basic recurrences' 49

2.6 examples of algorithm analysis' 53

2.7 guarantees, predictions, and limitations' 59

data structures


chapter 3. elementary data structures 69

3.1 building blocks' 70

.3.2 arrays' s3

3.3 linked lists' 91

3.4 elementary list processing' 97

3.5 memory allocation for lists' 106

3.6 strings' 110

3.7 compound data structures' 116


chapter 4. abstract data types 129

4.l abstract objects and collections of objects' 140

4.2 pushdown stack adt' 144

4.3 examples of stack adt clients' 147

4.4 stack adt implementations' 1s3

4.s creation of a new adt' 1s8

4.6 fifo queues and generalized queues' 166

4.7 duplicate and index items' 17s

4.8 first-class adts' 179

4.9 application-based adt example' 192

4.10 perspective' 198


chapter 5. recursion and trees 201

5.1 recursive algorithms' 202

5.2 divide and conquer' 210

5.3 dynamic programming' 222

5.4 trees' 230

5.5 mathematical properties of trees' 240

5.6 tree traversal' 243

5.7 recursive binary-tree algorithms' 249

5.8 graph traversal' 2ss

5.9 perspective' 261

sorting


chapter 6. elementary sorting methods 265

6.1 rules of the game' 267

6.2 selection sort' 273

6.3 insertion sort' 274

6.4 bubble sort' 277

6.5 performance characteristics of elementary sorts' 279

6.6 shellsort 285

6.7 sorting other types of data' 293

6.8 index and pointer sorting' 299

6.9 sorting linked lists' 307

6.l0 key-indexed counting' 312


chapter 7. quicksort 315

7.1 the basic algorithm' 316

7.2 performance characteristics of quicksort 321

7.3 stack size' 325

7.4 small subfiles 328

7.5 median-of-three partitioning' 331

7.6 duplicate keys' 336

7.7 strings and vectors' 339

7.8 selection' 341


chapter 8. merging and mergesort 347

8.l two-way merging' 348

8.2 abstract in-place merge' 351

8.3 top-down mergesort 353

8.4 improvements to the basic algorithm' 357

8.5 bottom-up mergesort 359

8.6 performance characteristics of mergesort 363

8.7 linked-list implementations of mergesort 366

8.8 recursion revisited' 370


chapter 9. priority queues and heapsort 373

9.1 elementary implementations' 377

9.2 heap data structure' 381

9.3 algorithms on heaps' 383

9.4 heapsort 389

9.5 priority-queue adt' 396

9.6 priority queues for index items' 402

9.7 binomial queues' 406


chapter 10. radix sorting 417

10.1 bits, bytes, and words' 419

10.2 binary quicksort 423

10.3 msd radis sort' 427

10.4 three-way radin quicksort 43s

10.s lsd radis sort' 439

10.6 performance characteristics of radix sorts' 442

10.7 sublinear-time sorts' 447


chapter 11. spedal-purpose sorts 451

11.1 batcher's odd-even mergesort' 4s3

11.2 sorting networks' 458

1l.3 external sorting' 466

11.4 sort-merge implementations' 472

11.5 parallel sort/merge' 478

searching


chapter 12. symbol tables and bsts 489

12.1 symbol-table abstract data type' 491

12.2 key-indexed search' 499

12.3 sequential search' 502

12.4 binary search' 510

12.5 binary search trees (bsts)' 515

12.6 performance characteristics of bsts' 521

12.7 index implementations with symbol tables' 525

12.8 insertion at the root in bsts' 529

12.9 bst implementations of other adt functinns' 533


chapter 13. balanced trees 543

13.1 randomized bsts' 547

13.2 splay bsts' 554

13.3 top-down 2-3-4 trees' 560

13.4 red-black trees' 565

13.5 skip lists' 576

13.6 performance characteristics' 583


chapter 14. hashing 587

14.1 hash functions' 588

14.2 separate chaining' 597

14.3 linear probing' 602

14.4 double hashing' 608

14.5 dynadric hash tables' 6l3

14.6 perspective' 617


chapter 15. radit search 623

15.1 digital search trees' 624

15.2 tries' 628

15.3 patricia tries' 637

15.4 multiway tries and tsts' 646

15.5 text string index applications' 664


chapter 16. external searching 669

16.1 rules of the game' 671

16.2 indexed sequential access' 674

16.3 b trees' 676

16.4 extendible hashing' 691

16.5 perspective' 703

index 707


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Algorithms In C++, Parts 1-4:Fundamentals, Data Structures, Sorting, and Searching
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon