自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 数据结构----哈希表

它通过将键(Key)映射到值(Value)的方法来实现快速的数据查找。在实际应用中,选择合适的哈希函数和解决冲突的方法非常重要,可以影响哈希表的性能和稳定性。如果多个键映射到同一个索引,就发生了哈希冲突,通常的解决方法是使用一种碰撞解决技术,比如开放定址法(Open Addressing)、链地址法(Chaining)等。当需要查找、插入或删除一个键值对时,通过哈希函数计算键对应的索引,并在数组中进行相应的操作。哈希冲突:不同的键可能映射到相同的索引位置,需要解决冲突问题,否则会影响哈希表的性能。

2024-04-15 20:55:21 287 1

原创 数据结构--队列

队列:队列是只允许在一段进行插入,而在另一端进行删除操作的线性表。允许插入的称谓队尾,允许删除的一端队头。顺序队列。循环队列,常用操作,入队,出队。先进先出,FIFO(有名管道)判断空、满:空:头==尾满:尾 + 1==头哪些地方会用到队列:多线程、多进程 读写速率不匹配,输入输出速率不匹配,需要缓冲区的,提高效率。

2024-04-11 22:01:29 433

原创 数组 2024.02.05

形参为指向数组的指针。

2024-04-10 21:22:23 89 1

原创 数据结构---栈

栈类型1.满减栈2,满增栈3,空减栈4.空增栈 1满栈:top指示的是,最后一次入栈的元素空栈:top指示的是,新元素待插的位置增栈:随着元素的push,top地址变大减栈,随着元素的push,top地址变小栈是限定仅在表尾进行插入和删除操作的线性表。先进后出、后进先出栈顶:允许操作的一端栈底:不允许操作的一端入栈,出栈。顺序栈 链式栈30+2\51.创建 CreateSeqStack2.销毁 DestroySeqStack。

2024-04-10 21:18:44 309 1

原创 数据结构 线性表

顺序表和链表 优缺点存储方式:顺序表是一段连续的存储单元链表是逻辑结构连续物理结构(在内存中的表现形式)不连续时间性能查找 顺序表O(1) 链表 O(n)插入和删除 顺序表 O(n) 链表 O(1)空间性能顺序表: 需要预先分配空间,大小固定链表 :不需要预先分配,大小可变,动态分配循环链表简单的来说,就是将原来单链表中最有一个元素的next指针指向第一个元素或头结点,链表就成了一个环,头尾相连,就成了循环链表。注意非空表,和空表。多数会加入头结点。

2024-03-22 11:12:53 409 1

原创 数据结构 基本概念

是解决特定问题求解步骤的描述,计算机中表现为指令的有限序列,每条指令表示一个或多个操作。2、有穷性,执行的步骤会自动结束,不能是死循还,并且每一步是在可以接受的时间内完成。是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。3、健壮性:输入非法数据,能进行相应的处理,而不是产生异常。链式,数据存放的存储单位是随机的,可以连续也可以不连续。1、输入,输出特性,输入时可选的,输出时必须的。3、确定性,同一个输入,会得到唯一的输出。2,在修改后的运行函数中,只保留最高阶项。合法的输入能得到合理的结果。

2024-03-19 20:45:11 306 1

原创 结构体、共用体、枚举 、位运算2024.02.20

1.先定义类型,后定义变量...2.定义类型的同时,定义变量...}s;3.定义类型的同时,定义变量 ,类型名可以省略 --- 如果该类型,只使用一次struct...}s;

2024-02-21 19:49:40 446

原创 数组 2024.02.04

数组的指针,整个数组的首地址,a[10] 40个字节的首字节的地址a <=> &a[0] //数组的首元素的地址&a<=> //数组的首字节的地址a[i][j] < = > *(*(a + i) + j)值为10二维数组作为函数参数,形参为指向数组的指针如果用就开,用完了就销毁指针函数 ,是函数,返回值是指针内存泄漏:malloc申请了空间,但是没有free销毁空间扩容:malloc 一次申请空间一定是连续的,两次申请空间一定不是连续的 在使用返回值是

2024-02-04 20:07:20 440 1

原创 指针2024.02.03

指针可以比较大小;根据数组的有序性,可以比较大小. p>q,输出逻辑结果。对数组的遍历逆序使用递归的方式逆序选择排序冒泡排序二分法查找快速排序算法。

2024-02-03 21:23:27 558 1

原创 指针2024.02.02

基类型 *指针变量名基类型要和只想的类型一致int i = 10;int *p;只能保存整型变量的地址;double *p;仅仅是说明p是指针p = &i;p = &i;(2 3行 int *p = &i;初始化 )*: 指针运算符 2 级 自右向左int i = 10;直接访问间接访问*p = 100;在64位系统,指针占8个字节在32位系统,指针占4个字节为什么用间接访问:有时候访问不到,被调函数无法修改主调。

2024-02-02 19:30:03 576

原创 预处理命令20240201

define 标识符 字符串宏名所有的字母都大写gcc -E 通知编译器只做预处理命令不编译宏定义最后不加分号程序的行数,程序的文件名。

2024-02-01 20:11:22 472 1

原创 函数 2024.01.31

被调函数在主调函数之前,如果被调函数在主调函数之后,在主函数调用之前先进行声明。函数的声明;函数的定义函数的定义不可以被嵌套,函数的调用可以嵌套函数传参时,自右向左传递,先传 j,再传递 i。

2024-01-31 21:27:35 364 1

原创 二维数组 及函数 2024.01.30

函数名:可以写个动词;形式参数表列:这个函数在使用是提供的线索或额外的条件;

2024-01-30 20:40:17 412 1

原创 数组2024.01.29

类型说明符 数组名[常量表达式][常量表达式][ ] 类型说明符是一个三行四列的数组,行/列号都是从0开始;可以看成是三个一维数组,a[0] 、a[1]、a[2]二维数组的本质:数组的数组。

2024-01-29 20:57:45 875

原创 数组 2024.01.27

int a[10] 定义这行 [ ] 是类型说明符,不是下标运算符。数组的越界访问:a[-1] 可能会占用其他变量的空间,造成严重错误。次数:n-1 + n-2 + n-3 + ........+1。求元素的个数:可以用数组总的字节数 / 每个元素的字节数。:数组中相邻的两个元素两两比较,小的放前,大的放后。❌ a等价于&a[0]注意:要把b数组的元素顺序拷贝到a数组。a[i] 数组里面第 i 个元素的值。会造成越界访问,不能超过元素的个数。对数组的访问: int a[10]

2024-01-27 20:18:48 236

原创 循环控制 2024.1.26

1.非零即为真int、char、double、指针2.assert函数强制中断程序3.区分整型、字符型、字符串0 整型 4个字节;‘0’ char型 表示 ascii 48号“0” 字符串 const char*型例题(1)、x 非0 与后面或 表达式截断 表达式值为1找最低优先级。

2024-01-26 18:09:32 262

原创 选择结构程序设计

例题:1、从键盘输入一个字符,输出该字符的按字典排列顺序的下一个字符,例如,输入a,则输出b。如果输入的字符不在26个英语字母中,则显示输入数据有误,如果输入的字符是z或Z,则输出a或A;先求解表达式1,若为非0,则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0,则求解表达式3,表达式3的值就是整个条件表达式的值。2、从键盘输入一个字符,如果是小写字母转换为大写输出,如果是大写字母,转换为小写输出,如果是其他字符则按原样输出。2.if(表达式)语句1 else 语句2。

2024-01-25 20:46:10 252

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除