用数据结构学数据结构(上)
在很久很久以前……人们都把计算机理解为数值计算的工具,感觉计算机就是用来计算的。但随着计算机所求解问题复杂性的增加,人么发现需要更科学有效的手段才能更好的解决问题。
于是乎,年,美国的高德纳教授在《计算机程序设计艺术》中开创了数据结构的课程体系。
很多年又过去了……年,Howard将《数据结构与算法》这门课程纳入自己的硕士培养计划中。整理了一些学习笔记,与大家分享如下:
大连理工大学李丹老师作品,在:机械人霍华德回复“数据结构”可获得只读版课件。
1什么是数据结构数据结构是一门研究非数值计算的程序设计问题中,计算机操作对象以及它们之间的关系和操作等等的学科。
我们研究的数据结构,就是研究其逻辑结构(面向问题)和存储结构(面向计算机)。
数据的逻辑结构可分为:
1、集合:数据元素除“同属一个集合”外,没有其他的关系了。
2、线性结构(一对一):线性表、栈、队列
3、树形结构(一对多):树
4、图状结构(多对多):图
数据的存储结构可分为:
1、顺序存储:借助元素在存储器中的相对位置来表示数据元素间的逻辑关系。
2、链式存储:借助指示元素存储地址的指针表示数据元素间的逻辑关系。
2我所学习的数据结构在本门课程中,我所学到的数据结构为:线性表、栈、队列、数组、树、图。还学习了对数据的操作方式如查找、排序。以及常用的几个算法(递归与分治、贪心算法、动态规划),其中线性表、栈、队列、数组、树的知识点整理将在本文给出,余下内容将在下篇给出。
3用数据结构学数据结构
为什么这么说呢?是因为我发现了一款比较好用的app:思维导图。
思维导“图”本身就是一种数据结构,用这种数据结构学习,思路真是清晰的不得了呀!
自己学习过程中整理的思维导图分享如下:
1线性表2栈和队列3数组(矩阵)4树制作这些思维导图还是花费了我一定的时间和精力的,尤其是“树”的那一部分,数据量之大导致闪退多次。如果对您的学习有所帮助,请不要吝惜您的一次分享。予人玫瑰,手有余香。
好好学习
Howard赞赏
人赞赏
长按向我转账
好好学习
受苹果公司新规定影响,iOS版的赞赏功能被关闭,可通过转账支持。
早期如何治疗白癜风好白癜风会传染么