数据结构与算法

《【初阶数据结构】从 0 到 1 速通顺序表:C 语言实现 + 手撕算法(附完整代码)》

本文详细介绍了线性表中的顺序表的概念以及以及其的接口如:增删查找等关键操作,最后通过算法题来感受顺序表的细节 文章目录 一、线性表是什么? 二、顺序表的概念及分类   1.概念   2.分类 三、动态顺序表的实现   1. 顺序表的初始化   2.顺序表的扩容   3. 顺序的尾插    4. 顺序表的头插    5. 尾删

基础算法篇(4)(蓝桥杯常考点)—数据结构(进阶)

前言这期将会讲到基础算法篇里面的数据结构(进阶),主要包括单调栈,单调队列,并查集,扩展域并查集,带权并查集,字符串哈希,Trie树。 数据结构(进阶)正文 单调栈 里面存储的单增或者单减的栈 应用: 1.寻找当前元素左侧,离它最近

剑指offer第2版:链表系列

一、p58-JZ6 从尾到头打印链表(递归/栈)从尾到头打印链表_牛客题霸_牛客网 解法1、递归,每访问一个节点时,先递归输出它后面的节点,再输出该节点自身,但是这样的话可能导致函数的调用层级很深,从而导致函数调用栈溢出。class Solution { public: void print(

【初阶数据结构】森林里的树影 “堆” 光:堆

文章目录 1.堆的概念及结构 2.堆的接口实现 2.1 堆的初始化 2.2 堆的销毁 2.3 堆的交换 2.4 堆的向上调整 2.5 堆的插入 2.6 堆的向下调整 2.7 堆的删除 2.8 堆顶获取 2.9 堆的判空 2.10 堆的节点个数 2.11 堆的打印 2.12 堆的排序(向上建堆) 2.13 堆的排序(向下建堆)

【多目标进化算法】NSGA-II 算法(结合例子)

目录一、NSGA-II 是干什么的?二、通过一个简单例子来解释例子:挑选手机三、NSGA-II 解决步骤1. 初始化种群2. 非支配排序(Fast Non-dominated Sorting)3. 拥挤度距离(Crowding Distance)4. 选择 + 交叉 + 变异5. 合并种群、排序、更新四、最后结果(Pareto前沿)五、Python 简易实现一、NSGA-II 是干什么的?NSGA

链表实战指南:手动实现单链表与双链表的接口及OJ挑战(含完整源码)

文章目录 一、链表的概念 二、链表的分类 三、手动实现单链表 1.链表的初始化 2.链表的打印 3.申请新的节点大小空间 4.链表的尾插 5.链表的头插 6.链表的尾删 7.链表的头删 8.链表的查找 9.在指定位置之前插入数据 10.在指定位置之后插入数据 11.删除指定节点 12.删除指定节点之后的数据 13.销毁链表 四、单链表的思考 五.经典链表OJ题