- 博客(15)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【数据结构】详解二叉树
在这个方法中,我们用firstchild指针找当前节点的第一个孩子节点(A),再用pnextbrother指针找到后续的孩子节点(B,C)找完之后接着用firstchild找到D,然后重复上面的操作,直到找完为止;对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。:若一个结点含有子结点,则这个结点称为其子结点的父结点;:以某结点为根的子树中任一结点都称为该结点的子孙。:一个结点含有的子树的根结点称为该结点的子结点;
2024-05-31 22:26:12
1273
13
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【数据结构】详解栈与队列(下)(栈与队列相互实现,循环结构)
本文中我们来分析几道力扣中关于栈和队列的经典OJ题目.如果对栈和队列的概念和基本操作实现有不熟悉的可以参考作者的上一篇文章。
2024-05-29 17:19:44
883
13
原创 【C++】初识C++基础篇·一(命名空间,函数重载,缺省参数,引用);
我们先通过一段简单的代码来拉开C++的序幕;//{//}在上述代码中,**所实现的效果。与下面的**的效果相同,我们要知道在C++当中他是兼容C语言的语法的,所以代码中C语言的语法也能运行成功;而在这里面就涉及到了我们下面要说的在C++中的输入与输出;
2024-07-26 21:25:25
478
14
原创 【排序算法】希尔排序详解(C语言)
为什么会有希尔排序,要从插入排序说起,希尔排序一开始设计出来是为了改进插入排序,因为插入排序在处理大量数据时效率不高,特别是对于近乎有序的数据。对于插入排序:1.当数组逆序有序时它的效率最低,时间复杂度为:O(n^2);2.当数组顺序有序时它的效率最高,时间复杂度为:O(n);希尔排序的主要动机是观察到插入排序在处理小规模数据时的高效性。然而,对于大规模数据,插入排序需要进行大量的元素交换,尤其是在数据分布不均时。
2024-06-17 22:04:00
1273
10
原创 【数据结构】详解堆排序当中的topk问题(leetcode例题)
215. 数组中的第K个最大元素。Top K 问题是一个经典的问题,在计算机科学中,它的目标是在一组数据中找到前 K 个最大或最小的元素。这个问题在许多场景下都很重要,比如搜索引擎的搜索结果排名、数据分析中的热门元素筛选等。
2024-06-10 19:02:35
1329
15
原创 【数据结构】详解堆的基本结构及其实现
在上一篇文章中,我们已经了解了树和二叉树的概念,而下面我们要学习的堆,在二叉树中非常重要;如果的二叉树还不太了解的,大家可以参考作者的上一篇文章详解二叉树。
2024-06-03 21:57:44
1226
17
原创 【每日一题】有效的括号(C语言实现)
3.如果是右括号,就取栈顶括号,看是否与右括号相对应,如果匹配,就继续判断,但在比较之前需要先判空,如果栈为空,就要返回false。最后在对应之后,我们在循环外还需要判断栈是否为空,以防出现多出一个括号的情况;在题目下给出的示例中,我们可以知道括号不仅要对应,而且顺序也不能颠倒;如果不为空,pop栈顶的括号,判断左右括号是否匹配;如果是右括号,先判断栈是否为空,为空返回false。先把栈初始化,之后在循环中判断栈中是否为左括号。2.判断如果是左括号就压入栈;1.先定义一个栈,并初始化;
2024-05-29 22:18:19
421
5
原创 【数据结构】链表的实现与基本操作
1.任意位置删除或插入时:对于顺序表需要搬迁元素,而链表就只需修改指针指向;2.增容时:顺序表每次扩容是呈2~3倍的增长,势必会有一定的空间浪费,例如当此时的空间是50,增容后为100,而我们只需要插入5个数据,这时就造成了空间浪费,且增容时申请新空间,拷贝数据,释放旧空间会有不小的损耗;但链表没有容量的概念,每次插入时只用动态申请一块内存,不会有过多的空间浪费;针对与以上顺序表的问题,有了今天要说的主题:链表。
2024-05-20 20:09:48
865
7
原创 【C语言】指针理解(一)
为了说清楚什么是指针,必须先弄清楚数据在内存中是如何存放的,又是如何读取的类型名 * 指针变量名int main()int a = 10;return 0;这⾥pa左边写的是 int* , * 是在说明pa是指针变量,⽽前⾯的 int 是在说明pa指向的是整型(int)类型的对象。那如果有⼀个char类型的变量ch,ch的地址,要放在什么类型的指针变量中呢?pc = &ch;
2024-03-24 22:04:10
962
9
原创 【启程】这是学习的开始,也是旅程的开始;
不能浪费我们的每一天,在练习的过程中复制别人的想法,再将自己的想法融入其中,例如创造一个属于自己版本的数独游戏。每天当我面对一段段熟悉而又陌生的代码时,我感受到更多的其实是对揭开一串串代码神秘面纱的喜悦,而非苦闷的心情。编程本身的目的是为了是计算体系按照该计算方式运行,而进行编程的我们的最终目的是为了能在发展迅速的今天跟上社会的发展从而拿到一个好offer·尽我所能,失败才是人生的主旋律,要学会接受失败,把他当作通往胜利的垫脚石,但不能接受放弃,永远不要放弃自己的目标。这是学习的开始,也是旅程的开始;
2023-11-18 21:16:12
37
1
通过利用学习知识,使用C语言设计一个菜单驱动的学生成绩管理程序,实现对学生成绩的各种管理
2024-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人