《数据结构》第一遍 思维导图总结

一、本书总览
这里写图片描述
二、初步认识

我在学习和开发软件应用程序时就开始发现用计算机能解决很多问题,而遇到的实际问题很多都是关于数据表示和数据处理,从第一遍快速看了《数据结构导论》,发现数据表示和数据处理的核心问题之一是数据结构及其实现。

三、目标模型

这里写图片描述
四、基础概念积累
1.数据结构概述的定义:
我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作, 这个相应的操作也叫算法。
2.特定的数据类型和结构是指:如果我们保存少量的数据,我们可以使用数组(连续);如果保存大量的数据,我们就必须使用链表(不连续,通过指针相连);如果我们还要保存数据item之间的关系,如一个部门的上下级关系,我们就必须使用树来保存;如果我们要保存一个城市的地图(任何节点之间都可能产生关系),那我们必须使用图来保存。
3.数据结构 = 个体 + 个体的关系(课本不是这样写的喔)
4.算法 = 对存储数据的操作(课本不是这样写的喔)
5.数据结构的地位
数据结构是软件中最核心的课程
程序=数据的存储+数据的操作+可以被计算机执行的语言(课本不是这样写的喔)
6.指针(为什么要讲指针?暂时不讨论)
①.指针的重要性:c语言的灵魂
②.定义
③.地址:
内存单元的编号
从0开始的非负整数
④.指针:指针就是地址,地址就是指针。指针变量是存放内存单元地址的变量。
指针的本质是一个操作受限的非负整数。
⑤分类:
基本类型的指针{略}
基本概念:
int i=10;
int *p = &i; //等价于 int *p; p = &i;
详解这两部操作:
1)、p存放了i的地址,所以我们说p指向了i
2)、p和i是完全不同的两个变量,修改其中的任意一个变量的值,不会影响另一变量的 值
3)、p指向i,*p就是i变量本身。更形象的说所有出现*p的地方都可以换成i,所有出现i
的地方都可以换成*p
总结: 1、如何一个指针变量(假定为p)存放了某个普通变量(假定为i)的地址,
那我们就可以说:“p指向了i”, 但p与i是两个不同的变量,修改p的值不影响i的值,修改i的值不影响p的值.
2、 *p等价于i 或者说*p可以与i在任何地方互换
3、 如果一个指针变量指向了某个普通变量,则
*指针变量 就完全等价于 该普通变量
★注意:
指针变量也是变量,只不过它存放的不能是内存单元的内容,只能存放内存单元的地址
普通变量前不能加*
常量和表达式前不能加&
4、如何通过被调函数修改主调函数中普通变量的值
Ⅰ 实参为相关变量的地址

Ⅱ 形参为以该变量的类型为类型的指针变量

Ⅲ在被调函数中通过 *形参变量名 的方式就可以修改主函数相关变量的值

猜你喜欢

转载自blog.csdn.net/chenhaiming123/article/details/81149489