什么是数据结构?在《Data Structures and Algorithms Using C++》的前言部分有这样一句介绍,非常准确地阐述了这个问题。
A data structure is the logical or mathematical arrangement of data in memory. To be effective, data has to be organized in a manner that adds to the efficiency of an algorithm and also describe the relationships between these data items and the operations that can be performed on these items.
Data Structures and Algorithms Using C++
诸多教材主要集中在数据结构的原理分析上,书中案例多数以伪代码形式出现,课堂上也很难演示源码程序,使得数据结构的学习门槛较高,难度更大。
多数教材之所以用伪代码,而不用源码,很大原因是由于源码受限于编程语言及操作环境。伪代码更方便教材编写,但增大了学生的学习难度。课堂上受限于课时要求,更无法演示源码程序,但动手写代码是理解数据结构的必经之路。
The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice so thlll there is a thorough understanding before continuing on to the more complex parts of the curriculum.
Data Structures And Algorithmic Thinking With Python
在《Data Structures And Algorithmic Thinking With Python》的前言部分,作者强调了动手写代码的重要性,并给出了近700个案例。
本课程以C语言作为编程语言,系统化、结构化地较为全面地讲解数据结构中最经典且基础的实验案例。每个实验案例从创建实验项目开始编写,每个步骤都非常详细。之所以选择C语言,是因为C语言更接近内存,能够与数据结构高度契合。希望通过本课程的学习,你能够更加深入地理解什么是数据结构。
数据结构主要分为三部分介绍,第一部分是线性结构(包括链表、栈、队列),第二部分是非线性结构(包括树、图),第三部分是数据结构的应用(包括查找、排序)。
数据结构与算法·C语言版,原理分析与实验教程目录如下,完成教程中的所有实验,一定可以更加深刻地理解什么是数据结构。
独立完成本课程的所有实验,以及课程中的拓展实验,定能深刻理解数据结构的内涵。