数据结构:
研究的是数据在内存中如何存储,不同的存储方式对数据操作产生的效率不同(特别是查询)
对数据的操作:
增加,删除,修改,查找
c语言中的数据结构:
1>.结构体
2>.动态内存分配
内存分为堆区和栈区
堆区:空间需要手动释放(使用malloc,calloc,relloc开辟的空间,使用后需要用free释放空间)
free函数释放空间代码:
free(p);
p=NULL;
栈区:空间不需要手动释放(函数中声明的局部变量所占据的空间,使用完后不需要手动释放)
malloc函数(分配空间) free函数(释放空间)
3>.递归的知识(树具有天然的递归结构)
-------讲一个问题转换为比自己小的同一问题
-------函数的自我调用
4>.函数
函数的创建:函数的返回值 函数名 参数个数 参数数据类型 -----决定了函数的功能
函数的调用:参数传递 (值传递,址传递)
5>.指针
数据结构包含的存储结构
根据数据之间的抽象关系,我们可以把数据结构分为三类:
线性结构:数组,队列,栈,链表...
树型结构: 二叉树,二分搜索树,AVL树,红黑树,堆...
图结构:邻接矩阵,邻接表