算法学习
文章平均质量分 63
是啊洋呀
渴望知识
展开
-
【番外篇】C++语法学习笔记
Box是声明的一个类:Box box;return box;原创 2023-11-06 15:28:51 · 403 阅读 · 0 评论 -
六、 递归和迭代
我在刚刷LeetCode的时候,在一道有关循环的题目的评论下面看到这样一句话,“迭代是人,递归是神”。同时用递归方法解体很多时候确实不好想,所以当时我觉得递归非常NB,但是在经过一段时间的学习后,尤其是当开始考虑算法的效率的时候,我发现递归也是有很多缺点和限制的。原创 2023-11-05 10:21:33 · 141 阅读 · 0 评论 -
五、 栈和队列
栈是先进后出,队列是先进先出。原创 2023-11-04 19:37:38 · 105 阅读 · 0 评论 -
四、二叉树
这里用二叉树来举例子使用结构体的方式实现二叉树:int data;使用类的方式实验二叉树:public:int data;原创 2023-11-03 21:11:41 · 469 阅读 · 0 评论 -
一、 数组
1.数组是一块连续的内存,并按照顺序存储数据,创建数组时,需要先指定数组的容量大小,在根据大小分配内存,因为需要先进行内存的分配,所以数据的空间利用率不高,经常有空闲的区域。2.数组可以看成是一个哈希表,其下标为Key,下表对应的数据为Value,可以使用时间复杂度O(1)进行查找3.C++中的STL中的vector,就是一个动态数组,vector和普通数组的区别是,vector是动态分配内存的,每次扩充内存,是前一次的两倍。原创 2023-10-20 13:12:39 · 97 阅读 · 0 评论 -
二、 字符串
因为当使用指针定义数组时,c++为了节省存储空间,会将str1和str2指向同一个地址,因为指针类型字符串是常量值。而数组类型字符串,即使存储空间相同,也会开辟两个空间来存储定义的字符串内存,故str3不等于str2。问题:请实现一个函数,把字符串中的每个空格替换成"%20"。例如,输入“We are happy.",则输出“We%20are%20happy.原创 2023-10-22 19:36:30 · 128 阅读 · 0 评论 -
三、 链表
链表是一种动态数据结果,内存分配不是在创建链表时一次性完成的,每添加一个节点,分配一次内存,由于没有闲置的内存,链表的空间效率高于数组 3. 删除链表中的一个元素 4 从头到尾打印链表 上面这段代码中设计到了结构体的知识,结构体以struct为关键字,结构体内部可以有多个变量和函数。结构体的定义结构如下 ListNode** pHead 两个**表示的是指向指针的指针 5 相交链表 使用哈希表解决 5.1.2代码中遇到的问题 1.哈希表的定义 2.哈希表的一些函数 1.插入元素: 2.访问元素:原创 2023-10-31 19:28:54 · 104 阅读 · 0 评论