数据结构_基础

2015-09-08  本文已影响131人  arkulo

github地址:
https://github.com/arkulo56/thought/blob/master/software/dataStruct/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%9F%BA%E7%A1%80.md


当数据从数据库中读取出来后,在内存中除了数组还可以如何操作数据????因为数组只能一个个的循环!!


单位换算

1 bit = 0/1 二进制数据
1 byte = 8 bit
1 字母 = 1 byte = 8 bit
1 汉字 = 2 byte = 16 bit

1G = 1024M(兆字节) = 1024*1024KB(千字节) = 1024*1024*1024B(字节) = 1024*1024*8bit(比特)

基本概念和术语

数据

反映客观事物的信息的集合,是信息的载体,能够被计算机识别、存储和加工处理

数据元素

集合中的个体,数据的基本单位,一个数据元素可以有多个数据项组成(字段、域、属性)

数据项

是具有独立含义的最小数据单位

数据结构

数据元素之间的逻辑关系

存储结构

数据元素及其关系在计算机存储器内的表示(大多数情况下都指内存)

算法

数据的运算,即对数据施加的操作

身份证数据管理

数据元素:每一个身份证信息是一个数据元素
数据项:姓名、性别、身份证号和相片
数据结构:

数据的逻辑结构

特征

逻辑结构分类

集合结构

数据元素间无任何关系

https://raw.githubusercontent.com/arkulo56/thought/master/images/datastruct/1.pnghttps://raw.githubusercontent.com/arkulo56/thought/master/images/datastruct/1.png

线性结构

元素之间的关系是1:1的

https://raw.githubusercontent.com/arkulo56/thought/master/images/datastruct/2.pnghttps://raw.githubusercontent.com/arkulo56/thought/master/images/datastruct/2.png

例如:线性表


非线性结构

元素之间的关系是1:n的

https://raw.githubusercontent.com/arkulo56/thought/master/images/datastruct/3.pnghttps://raw.githubusercontent.com/arkulo56/thought/master/images/datastruct/3.png

例如:一般树、二叉树、森林


图状结构

元素之间的关系是n:n的

https://raw.githubusercontent.com/arkulo56/thought/master/images/datastruct/4.pnghttps://raw.githubusercontent.com/arkulo56/thought/master/images/datastruct/4.png

数据结构的研究对象


存储结构

数据结构在内存中的存储结构

原理

简单的线性的数据结构直接用顺序和链式存储就可以搞定,例如:队列,栈、二叉树

复杂的数据结构则需要顺序和链式复合才能存储,例如:树(度大于2)、图(采用邻接矩阵等)

顺序存储

链式存储

注:头节点可以不包含数据,也可以包含链表的长度。其有助于删除第一个元素,或者在第一个元素前插入数据

注:头指针是指向头节点的指针,无论链表是否为空,都存在头指针

循环链表就是尾节点的next指向头节点,这样可以循环遍历


上一篇下一篇

猜你喜欢

热点阅读