数据结构
文章平均质量分 81
考研数据结构,面试,leetcode刷题
深中笃行
这个作者很懒,什么都没留下…
展开
-
leetcode数据结构与算法刷题(三)
快慢指针,一个走一步,一个走两步。用meet记录下他们相遇的点。利用结论L = N*C - X,设置一个指针指向起点,meet指向相遇的点。他们两同时出发,会在环入口出相遇,输出相遇时的点。原创 2023-11-21 00:48:17 · 1324 阅读 · 5 评论 -
数据结构初阶leetcodeOJ题(二)
(1)注意头插是新结点指向头结点,然后在将新节点设置为头结点。而不是直接将新节点设置为头节点(2)C语言赋值语句,左值是变量,将新节点设置为头结点。这是头结点为cur//方法二while(cur!=NULL)//保存下一个cur = next;原创 2023-11-19 01:37:55 · 910 阅读 · 1 评论 -
栈和队列的初始化,插入,删除,销毁。
特点:顺序表,逻辑地址=物理地址。可以任意访问,访问时间复杂度O(1).。实现分配空 间,当空间不足时,要动态扩容。顺序表在销毁时可以直接free,但链表要一 个个删 除。顺序表:适和访问,不适合插入删除,时间负责度为O(N)。由于栈的特性,只能先进先出,尾插头删,不能任意输出,所以我们只能输出头。(2)栈不能任意打印,栈只能访问栈顶。如果你初始化为-1,那就是先++,在插入。(3)栈只能尾插头删。原创 2023-11-18 19:06:52 · 440 阅读 · 0 评论 -
考研数据结构单链表的增删改查看这一篇就够了
想用形参pphead改变外部指针phead(实参) ,先将实参的地址&plist,传给实参pphead,这时pphead代表的是plist地址(&plist),*pphead解引用所以*pphead代表是plist,这里是要改变SNode*,所以要node**。*p的意思是:是取p所指向内存的值,取多少大小的值,取决于结构体前的数据类型,如int 取四个字节,char取一个字节。如果要改变外部定义的结构指针SLNode*,要用二级指针SLNode**。原创 2023-11-11 22:33:57 · 423 阅读 · 1 评论 -
考研顺序表的初始化、销毁、打印、封装、增删改查代码看这一篇就够了
2.空了的话,先给capacity赋初值为4,不为空则给空间动态扩容两倍。1.先判满了,是否有效个数等于空间总数,如果等于判空间是否为空。用for循环遍历一遍,如果i的值等于x则返回下标i;// 对数据的管理:增删查改。// 顺序表在pos位置插入x。// 顺序表删除pos位置的值。for循环遍历一遍数组,并打印。原创 2023-11-07 22:07:57 · 258 阅读 · 2 评论 -
考研数据结构线性表看这篇就够了之顺序表(一)
在头文件里定义结构体//定义一个数据类型int size;//有效数据//空间容量}SL;函数声明在头文件.h,定义函数在.c文件。原创 2023-11-03 20:36:45 · 233 阅读 · 2 评论 -
Leetcode数据结构初阶OJ题
数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?本题相对书上原题稍作改动[3,0,1]28。原创 2023-10-22 16:13:43 · 48 阅读 · 2 评论 -
leetcode 刷题之移除元素
给你一个数组nums和一个值val,你需要移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。原创 2023-10-16 23:22:22 · 126 阅读 · 0 评论 -
考研/专升本 时间复杂度的计算例题
考研/专升本/就业 时间复杂度和空间复杂度的计算例题原创 2023-09-24 17:55:06 · 325 阅读 · 2 评论