数据结构简单的说就是研究数据逻辑结构和物理结构的一门计算机学科!
1.数组好不好?好,它是什么?线性表(什么优点、什么缺点?...)数据结构知识告诉你!
2.既然数组有缺点,所以才会用链表(为什么利于数据的增、删、改?看看其物理实现,它是存储于不连续的物理存储器上的,所以...[道理很明显]){实际应用,如果你的程序设计大量的数据增、删、改,就应该考虑用链表!!!!}<发散:看看数据结构书上的程序,以前你学C的时候,也编过,看看他们的执行效率(数据要多),看到结果了吗?你心里也该明白了!〉
---------------->多思考,发散+创新==深入掌握+熟练应用
3.既然链表这么优越(当然也有缺点),就应该多应用(你心里要时刻记住计算机的应用是解决实际问题),好的!看看现实世界(排队问题、填充问题....)简单的链表不好解决了,怎么办?修改呀,增进链表功能了-------->堆栈、队列这样的链表出现了,自然解决问题的方式简单了,也高效了!
4.线性表和链表各有优点,为什么不能联合应用于实际呢?这个问题提的好<:)>数据库知道吧?数据库是什么?(简单的说它是一系列文件的集合)关系型数据库是一张二维表,如果你的需求只是增、删、改具有某一属性的数量记录,而其属性永远不变!怎么办?这就需要两者的联合使用,属性用线性表、记录用链表(:如果这样的需求在现实生活中很大,你就可以设计自己的DBMS了:)
5.再谈堆栈、队列,他们的应用如果你学硬件或对计算机运行原理比较清楚,那么你就知道这两者的重要性了!中断操作、程序中函数的调用,没堆栈这种数据结构行吗????各种操作系统中各种管理的算法中有FIFO吗?好象差不多每种管理都有,可见队列这种数据结构的......
6.树、hashtable........的优点太多了,应用当然也多了!XML知道吗?他就是一种树型结构,那你为什么没有把他应用于实际中呢?????现实生活中的继承关系如此的多(你的家族、政府机构...),都需要树型存取呀!hashtable好呀。通过key就可以快速查找,厉害吧!现实生活中,你的名字不是相当于KEY吗?难道你不知道古人为什么要给自己命名吗?(好好想想)hashtable中的一个很好的思想mapping(映射),<Hibenate知道吗?一种O/RMapping产品,现在很火的,它的创造者的灵感来自那里?很难说不是在hashtable>...........
.................//等你去发散
.................//等你去发散
.................//等你去发散