自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】关键字、命名空间、输入和输出、缺省参数的深入了解

定义命名空间,namespace + 命名空间名字{ },{ }中即为命名空间的成员。命名空间定义注意事项可以嵌套定义命名空间的名字可以有多个相同名称,最后编译器会合并成一个命名空间中一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中// 1. 普通的命名空间int a;// 定义变量int Add(int x, int y) // 定义函数// 2. 命名空间嵌套定义int a, b;// 嵌套定义N3,同时在N3里面又定义函数int c, d;

2024-09-12 14:02:19 618

原创 简单迷宫和进阶迷宫问题【百度和滴滴笔试题】

简单迷宫和进阶迷宫,核心重点还是在于递归方面,递归的探测和遇到死路回溯,而进阶迷宫特点就是最短路径,并且需要多加理解深拷贝。

2024-09-12 13:56:13 494

原创 【C语言】八大排序实现及稳定性和总结

假设第一个数据(下标0)有序,后面的n-1个数据都需要插入到有序数组里保存有序数据后面一个数据(tmp)移动数据,需要把新数据插入有序数据中的合适位置移动数据停止条件有两个tmp比全部有序的数据要小,有序数据从头到尾都需要移动,end移动到-1,说明移动完成。当tmp > end下标的数据,说明已经有序了。插入数据到end+1的下标位置,因为end下标的数据是小于tmp。// 插入排序(升序)

2024-09-10 13:33:44 1341

原创 【C语言】选择排序及优化、冒泡排序、计数排序的实现

选择排序时间复杂度为ON2O(N^2)ON2,空间复杂度为O1O(1)O1冒泡排序时间复杂度为ON2O(N^2)ON2,空间复杂度为O1O(1)O1计数排序时间复杂度为为ONKO(N + K)ONK,K是相对范围(计数数组)的大小,空间复杂为OKO(K)OK。

2024-09-10 13:31:43 1169

原创 【C语言】归并排序递归和非递归——动图演示

归并排序的时间复杂度是On∗lognO(n*logn)On∗logn,空间复杂度是OnO(n)On归并排序非递归的越界处理是难点,需要多加画图和调试分析情况,才能很好控制越界问题。

2024-09-09 08:41:23 584

原创 【C语言】快速排序——动图演示

快排的时间复杂度是On∗lognO(n*logn)On∗logn递归版本有缺陷,就是在建立太多栈帧情况,不能及时返回就会栈溢出。非递归就能解决该问题,效率上二者差不多。快排的三种实现方法(hoare版(左右指针法),挖坑法,前后指针法)和两种优化(三数取中、小区间优化),非递归都详细的说明了,请大家还是要多多画图和调试,走读代码才能更加牢固的掌握。

2024-09-09 08:40:01 658

原创 【C语言】插入排序、希尔排序——动图展示

直接插入时间复杂度是ON2O(N^2)ON2,比如在排逆序数据的时候,但是在有序或接近有序的时间,效率很高,所以希尔排序就对这个缺陷进行了优化,预排序就可以很好解决的这个问题,希尔排序平均复杂度是ON1.3O(N^{1.3})ON1.3。

2024-09-08 08:42:06 1234

原创 【数据结构】堆——堆排序与海量TopK问题

上一篇我们学习了堆的数据结构,现在我们来看看堆的日常应用和排序建堆的时间复杂度是O(N),排序的时间复杂度是,整体是,具体怎么算出来的大家可以看下面内容。建堆需要从倒数第一个非叶子结点开始调整,从后往前,直到堆顶的数据最后一个非叶子结点的计算方式:n - 1是最后一个节点的下标,父亲 = (孩子 - 1) / 2,所以(n - 1 - 1) / 2end是最后一个数据的下标,我们先交换,在向下调整,就传过去了end(n-1)个要调整的数据,正好排除掉了最后已经排序好的数据。end > 0。

2024-09-08 08:39:39 1133

原创 【数据结构】堆的基本实现

学好堆的关键就是对向下调整和向上调整的理解,并灵活运用。

2024-05-13 15:18:32 821

原创 【数据结构】链式二叉树实现

BTNode;学习树逻辑基本上都是递归,递归有三部曲一定要弄清楚确定递归函数的参数和返回值确定终止的条件确定单层递归的逻辑。

2024-05-13 15:16:14 769

原创 【数据结构】树和二叉树基本概念和性质

本章带来数据结构重点树相关的概念,同时和之前的线性结构完全不同,树是非线性结构学好二叉树第一步,就必须对该性质十分熟练和深刻的理解!

2024-05-06 19:17:23 689 1

原创 【LeetCode】环形队列实现

之前我们学习环形链表相关问题,现在我们来看看环形队列有什么不同呢循环队列题目链接我们使用数组实现,需要一个数组,还有2个标志头(head)和尾(tail)的变量,和一个标志存放多少数据的变量kint* a;int head;int tail;int k;循环队列用数组实现就需要多注意数组越界问题。

2024-05-06 19:00:21 2081

原创 【LeetCode】《动图演示》 225. 用队列实现栈和232. 用栈实现队列

出栈:popST没有数据就让pushST把数据导出来(出栈),所以先进去的数据会在pushST栈的栈顶,直接出栈就实现了先进先出。出栈功能:有数据的队列持续导入到空队列(取队头数据导入,出队删除本身的数据),直到最后一个数据,再将其输出后删除,这样实现了。一个栈用来入数据(pushST),一个栈用来出数据(popST),popST为空,就让pushST导数据进来。取栈顶数据:有数据的队列最后一个数据就是栈顶,通过队列的特性,直接返回队尾数据即可。栈是否为空:两个队列为空,就返回。这里说明代码这个部分。

2024-04-26 11:49:36 606 1

原创 【数据结构】队列的实现

数据结构的常见线性表,分别是顺序表,链表,栈,队列本篇给大家带来链表结构实现队列和讲解,这也是线性表结构的最后一篇,大家一起共勉链表学习完,实习队列并不难,只不过在单链表和基础上多添加了尾结点,因此造成嵌套结构体,一共两层,主要理解和熟悉队列的特性(先进先出)和链表结构的多样性。

2024-04-26 11:46:50 316 1

原创 【数据结构】利用顺序表实现栈

数据结构的常见线性表,分别是顺序表,链表,栈,队列本篇给大家带来利用顺序表实现栈和讲解顺序表学完了,在实现栈比较简单,只不过是顺序表的变形而已,主要理解和熟悉栈的特性(后进先出),栈相关OJ题主要对其特性方面出题。

2024-04-23 09:27:17 580

原创 【数据结构】带头双向循环链表

数据结构的常见线性表,分别是顺序表,链表,栈,队列本篇给大家带来带头双向循环链表的实现和讲解前指针(prev)数据(data)后指针(next)// 链表的结构// 链表的结构// 数据域// 前一个结点// 后一个结点}ListNode;带头双向循环链表,虽然结构复杂但是实现起来特别简单,如果想快速实现功能可以直接写两个函数,pos的插入和删除,带头双向循环链表主要还是主要存储数据。

2024-04-23 09:25:30 824

原创 【数据结构】顺序表和链表的优缺点

经过这么多对比,可以发现顺序表和链表就是互补的存在,两个都有存在的意义和自己擅长的领域。

2024-04-21 07:23:55 2363 1

原创 【数据结构】环形链表问题(链表带环)

单链表带环是链表中比较经典的问题,重要是推导和证明链表中最后节点的next不是链接到NULL,而是链接到该链表中任一节点包括自己。

2024-04-19 12:45:43 659 1

原创 【数据结构】《动图演示》单链表实现

一般定义结构前,我们会先重命名该结构的数据类型,因为这个结构可能会存放不止一种数据,可能会存放int、float、double等等,所以为了方便我们代码后期维护,重定义后只需要改变一处就可以了。// 存放的数据类型数据域(data)和指针域(next)data:存放结点的数据部分next:存放下一个结点(结构体)的地址// 单链表结点的定义// 数据域// 指针域}SListNode;这里的意思就是重命名,把sturct SListNode 命名为SListNode。

2024-04-18 10:41:23 545

原创 【数据结构】实现动态顺序表及详细讲解

数据结构的常见线性表,分别是顺序表,链表,栈,队列本篇给大家带来动态顺序表的实现和讲解

2023-05-04 20:20:09 734 2

原创 手把手带你了解时间复杂度和空间复杂度 【超详细】

学习数据结构的第一步,对时间复杂度和空间复杂掌握和理解是非常关键的,不管是考研还是学校的应试或者说你想要写出一个效率高的程序,内容有点多,请大家耐心看完。

2023-04-22 19:07:40 13175 12

空空如也

空空如也

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

TA关注的人

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