Data Structures in Plain Language cover

Data Structures in Plain Language

No rating yet
Word count
662K words
Chapters
9
Series
Big Talk Series
ISBN
9787302255659

Tags

Summary

Data Structures in Plain Language is an introductory book on data structures written by Cheng Jie, author of Design Patterns in Plain Language, following that series, and published by Tsinghua University Press in 2011. The book is built around a computer science teacher's classroom teaching, using everyday scenarios as analogies to explain abstract concepts in plain terms—for example, using "queuing for Spring Festival travel" to illustrate element insertion and "reserving consecutive seats" to analogize sequential storage—and it uses numerous diagrams to clarify the relationship between data structures and algorithms. The content advances according to the logic of a course: it first explains the basic concepts of data structures, logical and physical structures, and abstract data types, then introduces algorithms and the derivation of Big O time complexity; next it covers linear lists, stacks and queues, and strings, including naive pattern matching and the KMP algorithm; it then goes deeper into trees, covering preorder, inorder, and postorder traversal of binary trees, threaded binary trees, Huffman trees and their applications; the section on graphs explains depth-first and breadth-first traversal, minimum spanning trees, shortest paths, topological sorting, and critical paths; the search section covers static search methods such as binary search, interpolation search, and Fibonacci search, indexing techniques such as dense indexes, block indexes, and inverted indexes, as well as binary search trees, balanced binary trees, B-trees, and hash tables; the sorting section moves from bubble, selection, and insertion sort to Shell, heap, merge, and quick sort, analyzing classic algorithms line by line and comparing multiple algorithms side by side. The book uses C code for explanation and emphasizes "being able to understand and being able to write it," and the author says he polished it repeatedly from a beginner's perspective, which has made it a common reference for many university students and career changers learning data structures on their own. In 2020 the book came out in a full-color "Vivid Enhanced Edition," using color to distinguish diagrams and code anew and accompanied by animated courseware, for a better reading experience.

Editor's review

很多人对数据结构的第一印象是“抽象、难懂、枯燥”。程杰写的这本书,想做的正是把这种印象翻过来。他把课堂搬进书里,用一位老师讲课的口吻,把线性表、栈与队列、树、图、查找、排序一章章讲下来,遇到难啃的算法就拆成图,一步一步推给你看。这种写法让抽象内容有了落脚点:看到“春运排队”就自然明白插入元素要挪位置,看到“连续占座”便懂顺序存储与链式存储的差别。作者本人有过两年半高中数学教学经历,知道学生会在什么地方卡住,也习惯把话说得足够细。对自学者而言,这种耐心尤其可贵:书里的代码可以照着敲,经典算法都会被逐行拆解、横向比较,比如几种排序的时间复杂度和适用场景直接摆在一起对比,省去翻遍资料拼凑的工夫。当然,它不能替代教材和动手练习,但作为入门阶段的第一本参考书,它足够友好,也足够完整。读者在豆瓣、当当中对它的评价普遍集中在“通俗易懂”,这也印证了作者的定位,即不追求理论体系的严密,而是重视阅读体验。

Who it's for

A good fit for

  • 刚学过一门编程语言、准备系统学习数据结构与算法的在校学生
  • 准备计算机专业考研、需要快速回顾基础知识点的备考者
  • 想转行开发的非科班人员,需要从零建立数据结构地图的读者
  • 工作多年、对数据结构和算法概念已有模糊印象,需要重新梳理的程序员

Not a good fit for

  • 已掌握数据结构与算法,希望深入研究算法复杂度证明与高级算法的读者
  • 需要严格按考试大纲或竞赛要求训练、追求理论严谨性的读者

Reading tips

  1. 先通读第1、2章,把逻辑结构与物理结构、大O阶推导理解清楚,后续内容会顺很多。
  2. 每读完一章就动手把代码敲一遍,并在纸上画出存储结构图,纯看容易产生“看懂了”的错觉。
  3. 读查找与排序时,把书中反复出现的几种算法列表对比时间复杂度、空间复杂度和稳定性。
  4. 配合在线判题平台练习对应章节的题目,把“能看懂”推进到“能写对”。

About the publisher

Tsinghua University Press China · Founded in 1980

Founded in 1980, Tsinghua University Press has 57 titles in our collection, covering popular science, medicine, health, law, philosophy and social sciences. Representative works include medical popular-science books such as Cancer Truth: Doctors Are Reading It Too and New Knowledge on Cancer by Bo Luo (Li Zhizhong), legal titles such as Sunshine Is the Best Preservative: Express Delivery of Major Global Anti-Corruption Cases, and works like Qi Ge's A Brief History of Philosophy with Big Ideas and Liu Yunhao's From the Internet to a New Industrial Revolution. Its authors include science writers, medical researchers, the Renmin University of China anti-corruption master's class and university scholars, reflecting a publishing profile that balances academic seriousness with accessible reading. As public information is limited, this profile is based only on the titles in our collection.

Contents

  1. Chapter 1 Introduction to Data Structures
  2. Chapter 2 Algorithms
  3. Chapter 3 Linear Lists
  4. Chapter 4 Stacks and Queues
  5. Chapter 5 Strings
  6. Chapter 6 Trees
  7. Chapter 7 Graphs
  8. Chapter 8 Searching
  9. Chapter 9 Sorting

FAQ

这本书适合零基础读者吗?
作者要求读者至少学过一门编程语言,书中代码以C语言书写,如果完全没写过代码,直接阅读时会被语法细节绊住,建议先补基础语法再读。
书里的代码用什么语言写的?
主要以C语言描述,包含结构体、指针等基础语法,因此需要一定的C语言阅读能力,但算法思路本身与语言无关。
普通版和“溢彩加强版”有什么区别?
普通版2011年出版,黑白印刷,共440页左右。2020年推出的溢彩加强版改为全彩印刷,用色彩区分图表、流程和代码,并配套动效课件,内容与结构基本延续。
能和《大话设计模式》一起读吗?
可以。两本书同属“大话系列”,写法相近,但主题分别属于数据结构与面向对象设计模式,可以按兴趣并行阅读或先读数据结构部分。
这本书适合作为考研复习用书吗?
可以作为第一轮打基础的读物,帮助理清概念和算法思路,但后期仍需结合目标院校的指定教材和真题,补充理论推导与题型训练。

Comments

Find this book

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

More by the same author

Top rated in the same category