随笔分类 - 数据结构与算法
摘要:声明:内容及图片基于https://www.bilibili.com/video/BV1Gz411b7Rq?from=articleDetail 二叉树的存储结构 二叉树的顺序存储结构 二叉树的链式存储结构 struct BiNode{ DataType data; BiNode *lchild,*
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/BV1ke411s7Nk?from=articleDetail 概念 哈夫曼编码代码 void huffmanCoding(element *huffTree,char *huffCode[],int n){ char
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/BV1kk4y1R777?from=articleDetail 原理 将树转化为线性链表,将遍历信息在首次便利时线索化,则可以在需要时直接获得结点的前驱后继,成为双向链表 具体定义和实现 节点结构 struct Thr
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/BV1Z54y1R7Kt?from=articleDetail 二叉树的定义 二叉树的特点 二叉树的基本形态 特殊的二叉树 斜树 满二叉树 完全二叉树 二叉树的基本性质
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/BV1o541147mS?from=articleDetail 树的逻辑结构 树的定义 树的基本术语 树结构和线性结构的比较 树的抽象类型定义 树的遍历操作 树的存储结构 双亲表示法 孩子链表表示法 改进,多存储节点的
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av97010411 特殊矩阵的压缩和存储 对称矩阵的压缩存储 三角矩阵的压缩存储 对角矩阵的压缩存储 稀疏矩阵的压缩和存储 稀疏矩阵 三元组 十字链表 完整实例 定义三元组 typedef struct { int
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av95949609 BF算法 原理分析 Brute Force 暴力算法 用来在主串中查找模式串是否存以及出现位置. 核心就是回溯 如果模式串下标 j 始终没有到达'\0'则没有找到 如果主串下标 i 最后到达了'\
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av94576761 原理分析 数据结构 注意本文只考虑有头节点类型 基本数据类型 定义节点 template<class T> struct Node { T data; struct Node<T>* next;
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av94331942 原理分析 数据结构 FIFO:先进先出 front指向头元素的前一个位置 rear指向最后一个元素 如果用rear=front来判断队列为空还是满,会出现歧义,其实无法判断 此时,若再插入一个元素
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av76265320 题目描述 在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法! 设计思路 皇后位置 用一维数组表示,数组下标是行,元素是列 i
阅读全文
摘要:准备 定义结构体 typedef struct Node{ int data; struct Node* next; }Node,*pNode; 链表初始化 void initHead(pNode &head){ head=new Node; head->next=NULL; } 链表建立(尾插法)
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/BV1oE41177wk?t=3245 问题及分析 8*8的迷宫,最外周是墙,0表示可以走,1表示不可以走 设置迷宫 const int M = 8; //迷宫长(不包含墙) const int N = 8; //迷宫
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av92711998 原理 具体代码实现 #include<iostream> using namespace std; template<class T> struct Node { //定义节点 T data; N
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av78358478 题目描述 输入两个多项式并将其合并 具体实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #inclu
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av92597456 原理 双栈共享从分别从两端插如数据,向两端删除数据,两站共享实现节省空间 着重理解其编程理念 具体实现 #include<iostream> using namespace std; const
阅读全文
摘要:声明:相关图片及内容来基于https://www.bilibili.com/video/av88693493 分文件编写(一) 类的声明和定义分开 Stack.h #pragma once const int MAX_SIZE = 100; template <class T> class Stac
阅读全文
摘要:声明:图片及内容基于https://www.bilibili.com/video/av78358478 题目概述 循环链表实现 #include<bits/stdc++.h> using namespace std; typedef struct node{ int data; struct nod
阅读全文