马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
数据结构概述 定义:如何把现实中大量复杂的问题以特定的数据类型和特定的存储结构保存到内存中;以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有的元素进行排序)而执行的相应操作,这个相应的操作就是算法。 注:数据结构 = 个体 + 个体之间的关系 一个是事物或者说数据如何保存, 一个是他们之间的关系如何保存,这是关键点。 算法 = 对存储数据的操作 算法:解题的方法和步骤 衡量算法的标准: 1、时间复杂度:大概程序执行的次数,而非执行的时间。 2、空间复杂度:算法执行过程中大概所占用的最大内存。 3、难易程度 4、健壮性 数据结构的地位:数据结构是软件中最核心的课程 程序 = 数据的存储 + 数据的操作 + 可以被计算机执行的语言 预备知识 指针: 指针的重要性:指针是C语言的灵魂 地址的定义:内存单元的编号 从0开始的非负整数 范围 0——4G-1 file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 指针的定义:指针就是地址,地址就是指针 指针变量是存放内存单元地址的变量 针本质上是一个从操作受限制的非负整数 file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg 指针的分类: 1、 基本类型的指针 2、 指针和数组 (一维)的关系 file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg 注:所有的指针变量只占四个字节,因为是用第一个字节的地址表示整个变量的地址(32 位) 结构体: 1、为什么会出现结构体:为了表示一些复杂的数据,普通的基本类型变量无法满足要求。 2、什么叫结构体:是用户根据自己需求定义的复合数据类型。 3、如何使用结构体: file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg 注意事项:1、结构体变量不可以加减乘除,但是可以相互赋值。 2、普通结构体变量和结构体指针变量作为函数传参的问题。 动态内存的分配和释放: file:///C:/Users/asus/AppData/Local/Temp/msohtmlclip1/01/clip_image022.jpg
|