CS,八,数据抽象

来源:互联网 发布:淘宝店家订单管理导出 编辑:程序博客网 时间:2024/05/16 19:42

        前面说到计算机是如何在内存中存储程序运行时数据的,这里说的数据抽象,则是允许数据的使用者将数据集视为一种抽象的工具来访问,它称为数据结构。高级程序设计语言所提供的技术使得程序员能够表示算法,使得所操作的数据感觉好像并不是按照一个个单元在内存中存放的,这种高级语言所支持的数据结构称之为基本结构。将基本结构进行组装,形成更复杂的数据结构,现在面向对象语言还支持类这中自定义数据结构。

 

数据结构基础:

       数组:同构数组,异构数组。

      表,栈,队列,树,etc

相关概念:

      抽象:计算机的内存就是简单的顺序组织成一组可寻址的存储单元,每个单元8位,也就是1byte。那么我们所说的数组,表等数据结构想要存储在计算机内存中,那么就要进行模拟,用算法模拟出这些数据结构的意义,使得信息以一种更好的便利形式(适合的数据结构)进行存储,便于用户访问。

     静态结构与动态结构:就是说该模拟出的数据结构,其大小是否固定。

指针:数据总要存档到内存的存储单元中的,存储数据的内存地址就是该数据的指针。个人考虑下:指针就是数据的内存地址,指针指向一种数据结构的内存内容时,就已经指定了指针的指向数据类型,所以,给定一个指针时,就知道了内存地址,和内存地址里是什么数据,是不是呢?。。。。

 

数据结构的实现:

       真要去实现这些数组,表,栈,数等数据结构,还是很复杂的,大学里有一本书“数据结构”,整本书就是讲如何实现这些数据结构,并实现数据结构上的操作。这里不再讲述,后面还有一节,是以一个简单的实用案例去讲解如何选择并构建一个数据结构,完成功能需求。

 

定制的数据类型:

编程语言,除了提供基本数据类型外,再除了我们模拟数据结构外,还提供了一种称为“用户自定义数据类型”的特性,去帮助程序员快速的构建合适的数据结构,然而这种用户自定义数据类型仅仅是允许程序员定义一个新的存储系统,并没有提供对这些结构的数据进行处理的操作。为了可以操作用户自定义数据类型里的数据,进而又有了抽象数据类型,其实就是在用户自定义数据类型的基础上,在数据结构里增加了“数据处理操作”。

 

类和对象:

        这里完全可以说“类”就是“抽象数据类型”,对象就是类的实例变量。有了类这种新的数据结构,我们并不能说它就是面向对象了,因为在此之前,完全可以人为的模拟出类这种数据结构。应用类的封装的特性,加上继承,多态,我们才能说,这是面向对象的开发方式。

 

       后面还说到机器语言中的指针,如果对程序执行的过程很感兴趣,那么可以看看喽,没怎么看。

0 0
原创粉丝点击