数据结构与算法

数据结构与算法

数据结构与算法

数据结构:数据在内存中如何存储

目的:数据查询快

数据结构类型:数组,链表,栈,队列,字符串,树,图

java强数据类型语言 例如 int a=10; float=10.0;

00bb5f2a4df34198ad34fb9e4abd888f

数组的特性:

1.数据的地址是连续的
2.一个数组当中只能去存储相同类型的数据
3.数组可以通过下标获取数据,数组的下标是从0开始的
4.数组的定义必须提前定义好大小,定义好不能改变

等号前面指的是引用 等号后面是值

时间复杂度

快速判读时间复杂度

1.确定问题的规模 n
2.循环减半logn
3.k层关于n的规模 n^k
4.复杂情况 根据算法执行过程判断

算法的特性

1.算法的执行时间和算法的执行次数正相关
2.算法的执行次数和时间的规模正相关

89f0804285e24ada9e43285e2b2904fb

输出结果是“第一”
内存情况

38d17cc7a1714464930b6ca285a6f3af


97a622c9639a4f02ae589ca45ad7a85b

内存情况

5f093d26f1444eef80ad540d454a7318

引用类型:句柄=值的地址(堆中地址)
把等号右侧值的地址交给等号左侧的句柄
值的地址:堆中地址
引用地址:栈中地址

1fc862247d1044c685dc3222442ef9fc

上面的name因为是 堆中的同一个name
下面的y1 y2是两个

对堆中数据进行修改才能对其造成影响


9b99780d900e403f96ff00c6876d928f

1217fa40b98f483682c7a2c87d7b2448

等号左边是句柄 右边是值
基本类型句柄和值在一个地方 句柄和值都放栈里
引用类型 句柄和值不在一个地方 句柄放栈里 值放堆里
因为基本类型所占的空间是固定的 引用类型所占的空间不是固定的

String类型不是基本类型 所以放到堆里 当string内容改变时 地址也会改变 原来地址对应的内容将会被删除
引用类型里面的 基本类型 在原地方 string在堆里申请地址

c4f144a7fdf04086812a22c5eca2ea66

69275a97dfc14528b79c04d960197d67

posted @ 2021-12-11 20:27  想去迷笛  阅读(34)  评论(0)    收藏  举报