关于数据结构的一些预备知识

在这里 应该是用c语言来进行编写
关于指针的知识:

int *p; //p 指的是 一个指针变量  是一个变量名字 int * 表示该p变量只能存储int类型变量的地址)

地址: 内存单元的编号
指针: 是地址 地址就是指针
指针变量: 是存放内存单元地址的变量
指针的本质hi一个操作受限的非负整数
分类:
指针的基本类型:

int *p
int i = 10;
int j;
p = &i // 这个含义就是将i的地址发送给p 则意味着p指向i  *p 则就是i变量 修改p或是i的值 并不会对双方产生任何影响 i的值若是改了 不会影响p 而是会改变*p的值 因为*p就是i
j = *p // 等价于j = i
int a[5] = {1, 2, 3, 4, 5};
// 一维数组名是一个指针常量,存放的是一维数组第一个元素的地址,它的值不可以被改变,也就是一维数组名指向一维数组的第一个元素
a[3] == *(a+3); 

double *p;
double x = 22.2;
p = &x; //  x占8个字节 1个字节是8位 一个字节一个地址 p存储的是x的首地址 而不是储存p的所有地址 

数据结构: 狭义的讲:是专门去研究数据存储的问题
数据的存储包含两个方面: 个体的存储 + 个体关系的存储
算法是对存储数据的操作
广义的讲:数据结构既是包含数据的存储 也包含数据的操作问题 算法是对数据存储的操作

算法:
狭义来说: 算法是和数据的存储方式密切相关
广义来说: 算法和数据的存储方式无关 这就是泛型思想
数据的存储结构有几种:
线性:
连续存储 如数组 优点:存取速度快 缺点:事先必须知道数组的长度 需要大块的连续内存 对数组中的元素进行插入和删除速度比较慢 空间通常有限制
离散存储 如链表 优点:空间没有限制 插入删除元素的速度很快 缺点:存取的速度很慢
应用: 栈 队列
非线性 :树 图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值