目录
1.需要的储备知识
2.数据结构相关概念
2.1 什么是数据结构
什么是数据?
什么是结构?
概念:
总结:
2.2 为什么需要数据结构?
结论:
C语⾔语法基础到数据结构与算法,前⾯已经掌握并具备了扎实的C语⾔基础,通过C语言简单的数据结构实现通讯录
1.需要的储备知识
简单了解,通讯录具备增加、删除、修改、查找联系⼈等操作。要想实现通讯录项⽬有两个技术关键:
1.C语⾔语法基础
2.数据结构之顺序表/链表
2.数据结构相关概念
2.1 什么是数据结构
数据结构是由“数据”和“结构”两词组合⽽来。
什么是数据?
常⻅的数值1、2、3、4.....、教务系统⾥保存的⽤⼾信息(姓名、性别、年龄、学历等等)、⽹⻚⾥⾁眼可以看到的信息(⽂字、图⽚、视频等等),这些都是数据
什么是结构?
当我们想要使⽤⼤量使⽤同⼀类型的数据时,通过⼿动定义⼤量的独⽴的变量对于程序来说,可读性⾮常差,我们可以借助数组这样的数据结构将⼤量的数据组织在⼀起,结构也可以理解为组织数据的⽅式。想要找到草原上名叫“咩咩”的⽺很难,但是从⽺圈⾥找到1号⽺就很简单,⽺圈这样的结构有效将⽺群组织起来。
概念:
数据结构是计算机存储、组织数据的⽅式。数据结构是指相互之间存在⼀种或多种特定关系的数据元素的集合。数据结构反映数据的内部构成,即数据由那部分构成,以什么⽅式构成,以及数据元素之间呈现的结构。
总结:
1.能够存储数据(如顺序表、链表等结构)
2.存储的数据能够⽅便查找
2.2 为什么需要数据结构?
如图中所⽰,不借助排队的⽅式来管理客⼾,会导致客⼾就餐感受差、等餐时间⻓、餐厅营业混乱等情况。同理,程序中如果不对数据进⾏管理,可能会导致数据丢失、操作数据困难、野指针等情况。
通过数据结构,能够有效将数据组织和管理在⼀起。按照我们的⽅式任意对数据进⾏增删改查等操作。
最基础的数据结构:数组
【思考】有了数组,为什么还要学习其他的数据结构?
假定数组有10个空间,已经使⽤了5个,向数组中插⼊数据步骤:求数组的⻓度,求数组的有效数据个数,向下标为数据有效个数的位置插⼊数据(注意:这⾥是否要判断数组是否满了,满了还能继续插⼊吗).....假设数据量⾮常庞⼤,频繁的获取数组有效数据个数会影响程序执⾏效率。
结论:
最基础的数据结构能够提供的操作已经不能完全满⾜复杂算法实现。