数据结构大学时期最头疼课程之一,对于比较菜鸡的我好像没有不头疼的课程,除了那些真心不想学的置之不理的课程。大学已然回不去,但是现在温故而知新还是为时不晚的。
以前没有思考的问题那就现在来想吧。什么是数据结构?在我看来数据之间变得有关系那便是构成了数据结构。那什么是数据呢?数据在计算机看来就只有两种状态‘0’和‘1’,模拟电路叫高低电平,通断。但是对于一个CPU来说如果是10个引脚便有512(2^10)种组合,也就是指数级增长控制组合,所以今天的超级计算机才能那么厉害,当然硬实力固然很重要但是软实力可以让编写的程序效率更高,让CPU更轻松的计算。这就是为什么要学数据的大概原因吧。数据从表现形式上有音视频,图片等等数据文件。
以下是数据间关系:
- 一对一(线性结构)
- 一对多(树形结构)
- 多对多(图形结构)
- 无关 (集合)
在程序中的表现形式:
- 顺序结构(数组)
- 链式结构(链表)
……
大概可以这样分,在大学的教材里会分逻辑结构和物理结构,所谓逻辑就是在脑子里想的,物理就是真实存在也就是编码程序中的表现形式,那么至于说是用顺序结构或链式的结构来实现怎么样的逻辑结构就要看需求了。
由于在回顾数据结构知识(预习!!!)使用的教材是程杰-《大话数据结构》在看绪论中唤起了对数据的认识,结构的本质就是一个数据元素跟几个有关的事,一个?-线性,,两个……?-树,,多个对多个(大乱斗)?-图,别看就这么回事,深入下去简直是指数级到爆炸的复杂,不管多复杂希望能掌握冰山中一角角,能让我的的编程能力和思维有所提升。