一、前言
数据结构可以分为逻辑结构和物理结构
熟练掌握基本的数据存储结构,栈、队列、链表、树、哈希表等
并且熟练增、删、改、查等操作
封装的思想
数据结构的目标就是把数据及其逻辑关系存储到计算机的内存中
二、逻辑结构 && 物理结构
逻辑结构分为四种:
集合关系:数据元素除了同属于一个集合外,它们之间没有其他关系
线性关系:元素与元素之间存在一对一的关系(数组、链表、队列、栈)
树形结构:元素与元素之间存在一对多的关系(二叉树、Linux操作系统根目录)
图形结构:元素与元素之间存在多对多的关系(网状结构)
物理结构是元素在计算机内存中的存储方式,也称存储结构,是面向计算机的
顺序结构:选用一段连续的空间存储数组(顺序表)
优势:访问数据方便 O(1)
插入和删除数据需要移动大量元素
需要预分配内存空间,容易越界或浪费
容易造成内存碎片
链式结构:非连续空间存储(链表)
优势:访问数据需要遍历 O(n)
插入和删除元素方便
动态存储过程
三、补充
什么是指针函数:返回指针的函数
允许返回哪些空间的地址:1.不允许返回局部变量的地址
2.可返回全局变量的地址
3.可返回static修饰的静态变量的地址4.通过参数传递的地址
5.malloc堆区开辟没有被释放的空间地址
什么是函数指针:指向函数的指针
头文件的作用:
声明构造的数据类型
声明函数
定义宏
声明一个全局变量
包含需要的头文件
段错误就是访问了不可访问的内存
顺序表和链式表的区别?
全局变量的声明不可以初始化