Data Structures in Plain Language

Cheng JieTsinghua University Press2011

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

Tags

Computing Software TutorialsGeneral Computing Data StructureTime ComplexityComputer FundamentalsSelf-study TextbookFun Introduction

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年推出的溢彩加强版改为全彩印刷,用色彩区分图表、流程和代码,并配套动效课件,内容与结构基本延续。
能和《大话设计模式》一起读吗? 可以。两本书同属“大话系列”,写法相近,但主题分别属于数据结构与面向对象设计模式,可以按兴趣并行阅读或先读数据结构部分。
这本书适合作为考研复习用书吗? 可以作为第一轮打基础的读物,帮助理清概念和算法思路,但后期仍需结合目标院校的指定教材和真题,补充理论推导与题型训练。

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.

About the author

Cheng Jie Author

Cheng Jie is a Chinese author of computer technology books, about whom limited public information is available; his writing centers mainly on programming design and the fundamentals of computer science. Six of his titles are included in the collection, the best known being Big Talk on Design Patterns and Big Talk on Data Structures, along with Understanding Ethereum in Depth. These works fall under categories such as computing, programming design, general computing, and software learning, suggesting that his writing serves both introductory teaching and more advanced technical topics. The "Big Talk" series is known for accessible explanations, frequent analogies, and concrete examples, guiding beginners through core subjects such as design patterns and data structures, while Understanding Ethereum in Depth turns to blockchain technology. Overall, Cheng Jie's style aims to lower the technical threshold and emphasize readability, giving his books a recognizable place among popular computing titles.