数据结构(3)其他链表
循环链表与双向链表 目前我所接触到的内容大多是单链表的一些代码,顾此处只重点介绍演示单链表,其他链表包括循环链表和双链表此处不做过多介绍,此处就让通义代笔了 循环链表(Circular Linked List) 循环链表是一种特殊的线性表,其最后一个节点的指针不是指向NULL,而是指向链表的第一个节点或者头节点,从而构成一个环状结构。 特点 无明确…
数据结构(2)链表详细
链表02 在上一节中,我们对线性表,链表有了一些基本的了解,现在我们将着重了解线性表 同时,在上一节中我们学习的是链表的尾插法,实际上链表一共有头插法和尾插法俩个大法 (不过本人认为尾插法应该更广泛吧) 头插法:元素插入到链表的头部,即新元素始终都插入在头指针之后 初始链表结构: ┌─────┬─────┐ ┌─────┬─────┐ ┌─────…
【笔记】数据结构(1)之链表
线性表 1.线性结构 线性结构是n(>=0)个节点的有穷序列 假定该序列由a(1),a(2),a(3)...a(n)组成,每一个元素代表线性结构的每一个节点,那么,我们称a(1)为起始节点,a(n)为终端节点,而他们的下标i为a(i)在线性表中的序号或位置 现在我们取序列中不位于首端和尾端的三个元素:a(i-1),a(i),a(i+1),此时…
【笔记】几个关于排序与查找的算法(二)
二.排序 一.冒泡排序 定义俩个变量,外层变量i(循环轮数)与内层变量j(比较的次数) 遍历每一次外层循环时集合的数据(其中每次遍历数量是递减的,因为当你经过一次冒泡后已经排好了一个元素),找到最大元素,其中,如果前一个元素大于后一个元素,那么二者交换 外层进行下一次循环 public class BubbleDemo1 { public stat…
【笔记】记一次斐波那契数列题目的思考
引子 如题,今天做题目做到此题一下子将我沉睡四个月的高中数学知识唤起,思索半天才慢慢想到他的名字——马尔科夫链,但是后面经过请教得知此题可能对高中生来说是一道马尔科夫链的题,但是这题和其有一定的区别,这里人工阐述不太清楚,故引用我在敲代码的时候问通义的回答,实际上这题属于的是斐波那契数列 “爬楼梯问题本质上是斐波那契数列的变体,而非马尔科夫链模型。…
VSCode配置C/C++环境
依旧作为记忆存档 引言:最近Java的集训营结束了又得拿上痛苦的C了,但是一直习惯于VSCode敲代码,VSCode作为一款轻量化编译器好处多多,但是可恶的是一切环境都要自己配置,不想动手只能去碰他的兄弟产品VS,但是VS的占用相对较大,比较吃性能,而且最近一个长期支持版是2022(听说2026版快出来了),而且VS的字体看得实在是难受,操作感觉不…
fish-yates算法
由于最近老是隔三岔五地要写一些随机打乱字符的任务,每次首选都是fisher-yates算法,但是傻子风脑子不太灵光,老是忘记流程,遂记此博客作为记忆存档 算法简述 Fisher-Yates 洗牌算法 是一种用于生成有限序列的无偏随机排列的算法。简单说,它能真正做到等概率地随机打乱一个数组。 核心思想(现代版本,由 Knuth 提出):从数…
皖ICP备2025092305号-1