- 博客(54)
- 收藏
- 关注
原创 学习数据结构和算法的第16天
cur=cur->next为将cur获取next的地址并赋给cur。一个节点储存一个数据,并存储一个指针指向下一节点的数据的地址; 能让cur走向下一节点的原因。
2024-03-17 01:09:04
349
原创 学习数据节构和算法的第15天
cur=cur->next为将cur获取next的地址并赋给cur;cur=cur->next为将cur获取next的地址并赋给cur;一个节点储存一个数据,并存储一个指针指向下一节点的数据的地址;一个节点储存一个数据,并存储一个指针指向下一节点的数据的地址; 能让cur走向下一节点的原因。 能让cur走向下一节点的原因。
2024-03-12 23:05:28
327
原创 学习算法和数据结构的第15天
每一个数据,都需要存一个指针去链接后面数据节点(用下标直接访问第i个),不支持随机访问。3、避免频繁的进行扩容,一次扩容一般都是按数倍去扩(2倍),可能存在一定的空间浪费。(有些算法,需要结构支持随机访问,比如:二分查找、优先的快排等)2、头部或中间的位置插入删除,需要挪动,挪动数据也存在消耗;1、按需申请空间,不用了就释放空间(更合理的利用空间)2、头部插入删除数据,不需要挪动数据,不存在空间浪费; 1、空间不够需要扩容,扩容存在消耗。
2024-03-05 21:34:02
732
1
原创 学习数据节构和算法的第13天
*数据部分:**存储节点中的具体数据。可以是任何类型的数据,如整数、浮点数、字符串等。**指针部分:**指向下一个节点的地址。通过指针,将多个节点连接在一起形成链表。 单链表是一种常见的。,由一个个节点组成。
2024-02-22 21:17:16
203
原创 学习数据结构和算法的第12天
最终,合并后数组不应由函数返回,而是存储在数组 nums1中。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。m和n,分别表示nums1和 nums2 中的元素数目。nums2到nums1中,使合并后的数组同样按。
2024-02-21 21:09:15
513
原创 学习数据接构和算法的第11天
**注意:**不要使用额外的数组空间,你·,请你原地·删除重复出现的元素,使没个元素。 输入:nums=[1,1,2] 输出:2,nums=[1,2]并使用O(1)额外空间的条件完成。,返回删除后数组的长度。 给你一个有序数组。
2024-02-19 21:39:07
281
原创 学习数据结构和算法的第9天
依次遍历nums数组,把不是val的值放到tmp数组中,在把他mp数值拷贝回去。,你需要 原地 移除所有数值等于 val的元素,并返回移除后数组的新长度。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 不要使用额外的数组空间,你必须仅使用。 找到所有val,依次挪动数据覆盖删除。为什么返回值是整数,但输出答案是数组呢。
2024-02-17 21:55:16
1695
原创 学习数据结构和算法的第7天
*线性表(linear list):**是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。
2024-02-11 20:49:18
604
原创 学习数据结构和算法的第6天
eg:x先与[0,9]进行异或,在与数组内的[9,4,5,7,6,1,2,3,0]进行异或,1进行异或时8只出现了一次,而其他数出现了两次。 排序-》qsort快排->时间复杂度O(n*log2(N)) 时间复杂度:O(N*K) 空间复杂度:O(1) 时间复杂度O(N) 空间复杂度O(1)时间复杂度O(N) 空间复杂度O(N)时间复杂度:O(N) 空间复杂度:O(N)时间复杂度:O(N) 空间复杂度:O(1)**异或:**相同为0,相异为1。
2024-02-10 21:43:23
515
原创 学习数据结构和算法的第5天
空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟实践复杂度类似,也使用大口渐进表示法。,是对一个算法在运行过程中临时占用存储空间大小的量度。
2024-02-08 22:26:33
554
原创 学习C语言的第4天
在计算机科学中,二分查找算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到这种搜索算法每一次比较都使搜索范围缩小一半。
2024-02-07 21:37:49
126
原创 学习数据结构和算法的第3天
时间复杂度不能只看是几层循环,而是要去看它的思想。最好情况:任意输入规模的最小运行次数(下界)最坏情况:任意输入规模的最大运行次数(上界)平均情况:任意输入规模的期望运行次数。* 一个等差数列。
2024-02-05 20:53:27
520
原创 学习数据结构的第一天
typedef的作用:是为一种数据类型定义一个新的别名。这里的数据类型包括基本数据类型(int、char等)和自定义的数据类型(struct等)。注意:该定义方法由于无法记录结构体类型,所以出直接定义外,不能在定义结构体类型变量。int为存在的数据类型,interger作为int新的别名。1、先定义结构体类型,再定义结构体类型变量。类型名,struct student的别名。2、定义结构体类型同时定义结构体类型变量。3、typedef+struct+指针。3、直接定义结构体类型变量。
2024-02-03 20:53:32
265
原创 学习C语言的第31天
1、全局函数在作用域中唯一的;2、作用域:在整个项目中使用文件中使用;3、函数可以调用自己成为递归函数;1、静态函数可以和取函数重名;就近原则2、作用域:当前文件中。
2024-02-01 20:55:26
183
1
原创 学习C语言的第30天
局部变量也叫做auto自动变量(auto可写可不写),一般情况下代码块{}内部定义的变量都是自动变量,有如下特点:1、作用域 在一个函数内定义,只在函数访问内有效;2、作用域 在复合语句中定义,只在复合语句中有效;3、4、如果没有赋初值,内容为随机;1、在函数外部定义的变量2、作用域 整个项目中所有文件,如果在其他文件中使用需要声明(extern)3、生命周期 从程序创建到程序销毁。
2024-01-31 21:02:33
303
原创 学习C语言的第27天
如果参数dest是指向的内存空间不够大,看你会造成缓冲溢出的错误情况。 功能把str所指向的字符串的前n个复制到dest是指向的空间中, 功能把str所指向的字符串复制到dest是指向的空间中,
2024-01-23 23:01:02
411
原创 学习C语言的第18天
类型名*指针变量名[=地址]类型名是指针变量所指向对象的类型;*****用于区分最重变量和其他变量的字符,表示其后的为指针变量;**[=地址]**用于在调用时初始化指针变量,可省略。int a=10;int *p;\\p是指针变量,未初始化,此时不指向任何对象指针变量名=&变量名一、定义时初始化二、定义后初始化pa=&a;\\不可写作*pa=&a指针变量名=数组名一、定义时初始化二、定义后初始化p=a;指针变量名1=指针变量名2一、定义时初始化int pb=pa;
2023-12-26 20:08:51
381
1
原创 学习C语言的第16天
1)、形参出现在函数的定义中,在函数体内都可以使用,离开该函数则不能使用。2)、实参出现在主函数中,进入被调函数后,实参也不能使用。3)、实参变量对形参变量的时间传递是“值传递’',即单向传递,4)、实参单元与形参单元是不同的单元。调用结束后,形参单元被释放,函数调用结束返回主调函数后则不能再使用该形参变量。实参单元仍保留并维持原值。**错误原因:**在swap函数中,传递的实参是a和b的副本,而不是原始的变量a和b。
2023-12-14 16:49:56
384
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人