数据结构的一些常见问题
Q1、在数据结构中为什么使用抽象数据类型(ADT)?
A1:抽象数据类型对数据模型和对数据的操作方法(函数)进行封装。在抽象数据类型中只定义函数作什么,而不定义函数怎么做。它一方面使用得设计者将注意力集中在问题的概要性描述,使其与在计算机上具体的表示和具体的操作无关,另一方面,程序员在实现算法时,以抽象数据类型为蓝本,利用计算机语言进行改写。
顺便提一下,ADT和面向对象中的类的封装性很类似。
Q2、为什么数据元素的类型用ElemType,而不用某一具体的类型如int?
A2:为了使算法具有通用性,ElemType可以是任何一种数据类型,甚至可以是指针。在具体实现算法时对ElemType 进行定义,
如把ElemType定义成char, 可在程序文件的开始加上类型定义:
typedef char ElemType;
Q3:本书为什么用类C语言写算法?把类C语言改写成C语言要注意什么?
使用类C语言主要是为了更简洁地表述算法。把类C语言改写成C语言要注意
如下问题:
1、变量必须进行声明;
2、C语言中没有引用参数(参数前带&,如&T),必须把引用参数改写成值参数(去掉前面的&)或指针参数,提义使用C++编译调试环境(有关C++引用及引用参数在使用方法请参阅本人主页课程学习中的C++语言程序设计)。