![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
风吹雨淋
这个作者很懒,什么都没留下…
展开
-
数据结构:二叉树oj
搞清楚递归时候,遇见哪些条件不满足时候,递归函数退出。根据前序遍历的方法对数组每个元素初始化。给一颗二叉树,值放入数组中进行前序遍历。先遍历二叉树,得到树的结点个数。原创 2023-04-14 12:20:43 · 88 阅读 · 0 评论 -
数据结构:二叉树相关操作
先入队,使用front指针标记队头元素,打印队头元素对应的值。然后判断root的左右子树是否存在,存在就要入队push。入队一定要定义队头指针,标记队头元素。原创 2023-04-14 12:20:28 · 75 阅读 · 1 评论 -
数据结构:堆
堆的底层是一个顺序表,对这个顺序表进行特定的操作物理上是一个数组逻辑上是一个二叉树。原创 2023-04-14 12:20:07 · 56 阅读 · 0 评论 -
数据结构:队列
第一个结构体是基本结构,表示队列的节点。第二个结构体是用来找队列的头和尾。原创 2023-04-14 12:19:35 · 45 阅读 · 0 评论 -
数据结构:栈oj
20. 有效的括号如果遍历到的数组元素是左括号就入栈如果遍历到的数组元素是右括号就出栈在此步骤中,如果栈为空就不能出栈,返回false如果不为空看左右括号是否匹配,只要有一个不匹配就false最后栈为空则全部匹配原创 2023-04-09 11:05:00 · 65 阅读 · 1 评论 -
数据结构:栈实现
capacity是容量。原创 2023-04-09 10:43:04 · 53 阅读 · 0 评论 -
数据结构:链表oj下
一个指针从head走,一个指针从相遇点走,下次相遇就是入口点。找链表的最后一个节点while(tail->next)找到AB链表的尾节点,尾节点地址相同就是相交。不加36行代码会造成死循环(形成环)走完一个链表while(tail)如果是环,快指针在环内追上慢指针。找到中间节点,再把后面的逆置。求交点:求出AB两链表的长度。如果不是环,快指针就指向空了。每个指针都向后走一步。原创 2023-04-09 10:37:58 · 345 阅读 · 0 评论 -
数据结构:链表oj上
未考虑头结点是val的情况。原创 2023-04-02 21:21:32 · 102 阅读 · 0 评论 -
数据结构:不带头的单链表实现
顺序表为空时,结构体是存在的,a,size,capacity。顺序表数据不是存在于结构体上的,是存在于结构体指向的空间上面的。tail置为空,tail是局部变量,而3->next不为空,必须要有一个指针指向3。找链表的尾,while(tail->next!链表中一个节点都没有,表示头指针指向了空。或者用tail->next->next。链表的数据是存在于结构体上的。要给一个prev指针。原创 2023-04-02 15:05:47 · 72 阅读 · 0 评论 -
数据结构:顺序表代码
assert:参数为0程序直接中止,可以精确的打印哪个文件哪一行出现断言。顺序表为空时,顺序表结构体是存在的,结构体成员的a指针指向空。不带头节点的链表为空时,链表结构体是不存在的。return返回该函数,程序不会结束。free的时候,数组越界报错。exit:直接中止程序。原创 2023-03-01 10:50:04 · 70 阅读 · 0 评论 -
时间复杂度
衡量一个算法是否良好运行时的快慢时间:时间复杂度所需要耗费的资源空间:空间复杂度时间复杂度:找到基本语句,并计算该语句的总执行次数原创 2022-04-01 22:36:44 · 539 阅读 · 0 评论 -
数据结构:排序上(插入&希尔&选择&堆排序)
排序:稳定性:在一个序列中有相等的元素,排序后如果,相等元素次序和排序前次序相同则称其是稳定的内部排序:所有数据需要一次性加载到内存中外部排序:不需要(只有归并排序是外部排序)按算法实现原理对排序分类:面试时,排序注重于代码实现,排序的稳定性,排序的空间复杂度和时间复杂度排序重点依次是快排、冒泡 > 归并、堆排序1.直接插入排序对一组无序的数以插入方式进行排序1.时间复杂度:理想情况下为O(n)最坏情况下为O(n^2)2.空间复杂度:O(1)3.稳定原创 2021-08-24 15:51:26 · 215 阅读 · 0 评论