- 博客(13)
- 收藏
- 关注
原创 初识数据结构:二叉树
【摘要】本文分享了两个数据结构问题的创新解法。首先提出topk问题的另类解法:建立小堆处理前k个数,后续数据与堆顶比较替换,比传统大堆方法更高效。其次详细讲解了链式二叉树的实现,包括建立二叉树、四种遍历方式(前序/中序/后序/层序),以及求节点数、叶子节点、树高度和第k层节点数的分治算法。文章通过代码示例展示了具体实现方法,为数据结构和算法学习者提供了实用技巧。(149字)
2026-02-25 16:28:14
599
原创 EasyX:从入门到入土
【摘要】本文介绍了EasyX图形库的基础使用指南,主要包含三部分内容:1)EasyX的安装与配置,包括下载安装、在线文档查阅和头文件设置;2)窗口设置方法,详细说明initgraph函数参数、背景颜色调整和坐标系统;3)基本图形绘制技巧,涵盖点、线、矩形(含圆角矩形)和圆形等几何图形的绘制函数及参数设置。文章配有函数接口说明和效果图示,适合C++初学者快速入门图形编程。(149字)
2026-02-08 22:26:47
629
原创 初识数据结构:二叉树和堆
【数据结构专题:树与堆】本文系统讲解了树结构及其衍生概念,重点介绍了二叉树的存储方式(顺序/链式)和堆的实现。内容涵盖:1.树的基本概念与表示方法(左孩子右兄弟/数组存储)2.二叉树特性与分类(满/完全二叉树)3.堆的核心操作(插入/删除时的向上/向下调整算法)4.堆应用实例(TopK问题解决方案)5.堆排序实现与复杂度分析(建堆O(n),排序O(nlogn))。通过代码示例演示了堆接口函数实现和排序测试,适合数据结构学习者系统掌握树形结构知识体系。
2026-02-08 16:45:01
830
3
原创 VS2022背景图片设置教程(手把手、保姆级)!
欢迎来到少司府的博客☆*: .。. o(≧▽≦)o .。.:*☆⭐⭐⭐那些看似不起波澜的日复一日,终将在某天让你看到坚持的意义一、拓展插件的安装1.1 打开管理拓展打开的选项。
2026-01-22 20:58:07
432
原创 初识数据结构:栈和队列(二)
如图,与之前不一样的是,队列要额外实现取队头、队尾数据的接口。这里额外定义一个结构体是为了整合头指针、尾指针和节点数据个数。同时,也方便了形参的传递,避免了传递二级指针。
2026-01-22 20:57:29
1131
原创 初识数据结构:栈和队列
如图,top是数组元素下标,指向栈顶后一个元素。capacity是数组的容量大小(可存储的元素个数)。初始化、销毁以及插入删除的功能不用多介绍。获取栈顶判空获取数据个数。
2026-01-20 17:39:09
971
原创 Re:从0开始的编程基础练习(一)
欢迎来到少司府的博客☆*: .。. o(≧▽≦)o .。.:*☆⭐⭐⭐天行健,君子以自强不息一、常见编程练习网站归纳网上有很多练习code能力的资源网,包括各个高校内部应该也有自己的练习网址,但用的最多、最有效的网站无非就那么几个:这其中,和主要面向的算法方面的练习,如果想提升自己数据结构、算法方面的能力可以用这两个网站。(当然,LeetCode上也不乏有数据库、shell、多线程相关的题目)而更多的是编程基础方面的训练。当然,牛客网本身也是一个。
2026-01-11 13:13:03
935
原创 初识数据结构:链表OJ
欢迎来到少司府的博客☆*: .。. o(≧▽≦)o .。.:*☆⭐⭐⭐天行健,君子以自强不息一、链表的在线OJ判题1、什么是在线OJ?英语,缩写)是一种在编程竞赛中用来测试参赛程序的在线系统,也可以用于平时练习。2、为什么训练在线OJ(1)、有一些比赛,比如:NOI、NOIP、ACM之类的编程竞赛都是采用在线OJ的方式进行。(2)、现在IT大学生就业找工作的笔试环节也采用在线OJ的方式进行。二、链表OJ的经典例题1、回文链表这是一个经典的面试题,判断一个链表是否。
2026-01-11 13:12:47
1200
原创 初识数据结构:复杂度讲解
(1)、用常数1表示运行时间中语句执行的常数次数 O(1)(2)、只保留最高阶项(3)、最高阶项存在且不是1时,(e.g. 3*N),则去除与其相乘的系数O(N)
2026-01-09 20:47:42
1008
原创 初识数据结构:双向链表(C语言版)
一、链表的分类根据的特性(带头还是不带头、单向还是双向、循环还是不循环)可以把链表分为8类。如图:之前我们讲的单链表实际上是,此处的带头指的是是否具有哨兵位。哨兵位是为了避免处理的情况而设置的,它本身不存储任何有效的数据。其next指针指向第一个节点,prev指针指向最后一个节点。本文主要讲的是(简称双向链表)的定义与实现。二、双向链表的结构1、双向链表的简化图如图,在单链表中,头节点指针phead在一开始需要置为NULL,而双链表的哨兵位却不需要这样操作。下文会给出解释。
2026-01-05 21:02:04
651
原创 初识数据结构:单链表(C语言版)
1、 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表就是线性表的一种。 举个例子:我们在坐火车的时候,会发现火车并不像其他车型(如汽车)一样是完全连接在一起的,而是由一节一节车厢链接在一起。从物理结构上来讲,它并不是传统意义上的连续,但是从逻辑结构上来讲,你可以通过前一节车厢前往(找到)下一节车厢,说明逻辑结构是连续的。 而链表就可以类比为火车。
2025-12-19 22:46:28
962
3
原创 初识数据结构:顺序表(C语言版)
简单来讲,数据结构就是一种计算机存储、组织数据的方式。 我们在存储、处理数据的时候发现,当要处理的数据量过多时,仅仅用局部变量来操作的话会很麻烦,这时候,我们引入了数组的概念。通过数组的下标,把一大堆数据管理起来,并更佳便捷的对数据进行操作。 其实,数组就是最基础的数据结构。 而当我们想对这堆数据进行“增删查找”的操作时,单纯的数组就显得不太方便。这时,引入了顺序表的概念。 顺序表的底层就是数组。
2025-12-10 22:17:14
787
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅