【算法】C程序的运行速度测试
C语言程序的运行速度测试
【算法】从x的n次方看递归时间复杂度计算
从x的n次方看递归时间复杂度计算
【C语言】数据结构-链式二叉树,详解分治递归和层序遍历
[TOC] 前言在之前关于树的学习中,我们接触了二叉树的知识点,以及堆和堆排序的操作。 两个知识点都是超链接,可以点击查看我之前的博客,复习一下这两个知识点哦! 接下来我们要更进一步,学习一下链式二叉树的操作 本篇博客将以知识点讲解+OJ题目验证的方式来展开链式二叉树的内容 1.链式二叉树的基本结构在学习链式二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。 之前我们提到过,树最优的表示方法是父母孩子表示法。但是对于二叉树这种度固定的树来说,可以 直接使用最简单的方法,定义两个指针指向它的左右叶子节点即可 12345678typedef int BTDataTyp ...
【教程】hexo搭建博客+keep主题美化
感谢你来到本小站,如果这篇博客对你有帮助,欢迎在下方评论😘! 折腾了一整天,算是把基本的博客环境给搭建好了,页面效果还是挺不错的!后续对寒舍有什么新操作会对本文进行更新,可以多多关注一下哦 本博客修改过的 keep 主题文件可以在这里查看👉 musnows/hexo-theme-keep 本博客修改后的 keep 主题预览站点为 keep-hexo.musnow.top 1.基本配置我最开始使用的平台是HEXO+Gitee,参考这篇博客👉基于Gitee+Hexo搭建个人博客 现在我不建议你使用 gitee pages,具体请看本文 4.1; 可以根据本文向导配置 gi ...
【树莓派开发】树莓派安装vim编辑器(附带排错流程)
前言Linux自带的编辑器有nano和vi,但vi编辑器使用起来很不方便。 我们要先在树莓派上下载vim编辑器,它是vi编辑器的升级版本,使用更加人性化 但实际上安装vim编辑器并没有网上写的那么简单,在安装过程中出现了种种问题😭 1.用putty软件链接树莓派Putty软件想必把玩树莓派的你应该是很熟悉的。 输入ip后即可链接到你的树莓派,方便我们进行后续的操作 2.下载vim首先更新索引源 1sudo apt-get update 安装vim编辑器 1sudo apt-get install vim 2.1错误:404无法下载安装过程中可能会有错误提示,比如我这里就显示无 ...
【C语言】什么是堆?堆排序和TopK问题又是如何实现的
[TOC] 前言在上一篇数据结构博客中,我带大家一起学习了树以及二叉树这一个全新的数据结构。 【C语言】什么是树,二叉树又是啥玩意 本篇博客,就让我们一起来看看常被人津津乐道的堆排序以及堆这个数据结构是一个什么样的存在吧? 1.堆的概念堆的概念是基于完全二叉树的 当k1、k2、k3……kn的数据按照完全二叉树的方式存放在数组中,且这个完全二叉树满足某个节点的值总是不大于(或不小于)其父节点的值时,称该完全二叉树为堆。 将根节点最大的堆叫大根堆 根节点最小的堆叫做小根堆 堆中某个节点的值总是不大于(或不小于)其父节点的值 上篇树的博客中已经给大家解释过如何用数组的方式存放一颗完全二 ...
【C语言】什么是树,二叉树又是啥玩意
[TOC] 前言在之前的数据结构学习中,我们学习了顺序表、链表、栈、队列这几种结构 它们都是用链表或者数组的方式来实现的,主要考察我们对结构体的运用 今天让我们来学习一个新的数据结构,也就是下面这副图里面的树 啊不好意思,图拿错了!😜 是下面这个才对 1.什么是树?1.1 树的概念树是一种非线性的数据结构,它是由n个有限节点组成的具有一定层次关系的集合。 把它叫做树是因为它看起来的确像一个树的根部 当然也可以理解为是树干在上,树叶在下的结构 有一个特殊的节点,被称为根节点,也就是树的开头 除了根节点外,其余节点都是,个互不相交的集合。每一个集合都是一颗与树的结构类似的子树 每一个节 ...
【图床】gitee图床寄了,批量转存文件到阿里云OSS
本篇博客将教您如何转移gitee图床到阿里云OSS Gitee的问题最近不知道大家的gitee图床是否出现了抽风现象 简单的说来就是,gitee仓库里面的图片都能正常访问,picgo也能正常上传 但是本地typora/obsidian都无法渲染出图片,甚至出现了图片全变成了gitee的logo的情况 虽然不知道它现在恢复没有(因为我已经全部转移到阿里云OSS了),但还是建议大家不要用gitee作为图床了!因为我之前使用的时候就出现了好几次无法渲染图片的情况 当时我去问了一个大佬,大佬的回复是:“不提倡用代码仓库做图床” 在我的另外一篇博客里面也提到了这个问题 阿里云OS ...
【C语言】三道例题让你彻底学会栈和队列
[TOC] 前言本篇博客,将带着大家刷3道非常经典的OJ题。它们并不算特别难,但对我们理解数据结构中栈和队列的概念有很大的帮助。 如果你还不了解栈,可以看看我之前的博客👉点我 队列的博客就不写啦,本篇刷题的时候会提到队列的操作 话不多说,直接开始吧! 1.用队列实现栈 leetcode:225. 用队列实现栈 这道题的要求很简单,用两个队列来模拟栈的实现。 我们知道,队列的操作是从后进,从前出,这就和我们在餐厅排队一样,先进入餐厅排队的人先得到座位。 而栈是遵循上进上出的,即栈只能在栈顶插入元素和删除元素 两个队列要如何结合,才能实现栈的要求呢? 1.1思路首先我们讲数据push到 ...
【C语言】数据结构-栈(详解)
[TOC] 前言在之前的数据结构学习中,我们学习了顺序表、链表这两种结构 顺序表:博客链接1 单链表:博客链接2 链表OJ:博客链接3 除了单链表以外,还有一个结构,是双向带头循环链表。这个链表的形式如下 头节点的prev指向尾部节点 尾节点的next指向头节点,构成循环 别看它的形式有些复杂,实际代码的实现,比单链表还简单! 因为head->prev指向了尾节点,所以不需要找尾。尾删的时候也不需要遍历找尾节点的前一位,因为尾节点的prev就存放了前一位的地址。 所以这里就偷懒不写博客了!反正也没啥人看😭 好吧,最后我还是写了一篇水文👉点我 本篇博客讲述的是另外一个特 ...