数据结构
乐多
这个作者很懒,什么都没留下…
展开
-
王道代码刷题记录
文章目录设计一个递归算法,删除不带头节点的单链表L所有值为x的节点在带头节点的单链表L中,删除所有值为x的节点,并释放其空间,假设值为x的节点不唯一,试着编写以下算法以实现这个操作。设L为带头节点的单链表,编写算法实现从尾到头反向输出节点设计一个递归算法,删除不带头节点的单链表L所有值为x的节点//设计一个递归算法,删除不带头节点的单链表L所有值为x的节点//递归出口:L->next==NULL#include <iostream>#include <stdio.h>原创 2020-07-19 22:59:53 · 288 阅读 · 0 评论 -
考研复习线性表之——链表
文章目录单链表存储结构GetElem()ListInsert()例题A,B是两个单链表,递增有序,归并A,B得到C,也是递增有序的单链表存储结构typedef struct node{ int data; structnode *next;//定义指向后继节点的指针}node,*Linklist;GetElem()void GetElem(Linklist L,int i,int &e){ int j=1; int p=L; while(p&&j<i)/原创 2020-05-25 18:10:45 · 271 阅读 · 3 评论 -
考研复习顺序表(数组)
顺序型线性表结构体其实结构体也可以不用写可以直接写int num[maxsize];int length=0;这样更简单一点typedef struct{ int num[maxsize]; int length;}sqlist;InitList(LA)初始化构造一个顺序表 数组初始化很简单void InitList(sqlist LA){ LA.length=0;...原创 2020-04-27 20:03:02 · 841 阅读 · 1 评论 -
c++标准模板库STL(stack)顺便理解逆波兰表达式
STL初学者千万不要被吓到,这其实是一个很简单的东西(算法笔记说的,不是我说的)stack使用c++的stack可以容易地使用栈stack <typename> name;typename 可以是任意数据类型或者容器事例:#include <stdio>#include <stack>using namespace std;int main...原创 2020-02-29 22:39:24 · 218 阅读 · 0 评论 -
贪心算法之装箱
贪心算法之装箱问题:有若干个体积为V的箱子,有n个物品体积为v1,v2,v3,v4。。。。要求:将所有物品装入箱子中,使打开的箱子尽可能少。算法描述:把所有物品按体积降序排序,每次取出一个物品(该物品为当前体积最大的物品),遍历所有已打开箱子,将该箱子放入一个较早打开的箱子,若没有箱子能放下,则打开一个新箱子。#include <stdio.h>#include <st...原创 2019-12-05 10:40:17 · 604 阅读 · 0 评论 -
迷宫成就达成 c语言
迷宫成就达成迷宫#include <stdio.h>#define R 9#define C 10int M[R][C]={ {0,0,0,0,0,0,0,0,0,0}, {0,1,1,0,0,0,0,0,0,0}, {0,1,1,1,0,0,0,0,0,0}, {0,1,1,1,1,1,1,0,0,0}, ...原创 2019-11-24 00:10:34 · 99 阅读 · 0 评论 -
回溯法与八皇后
回溯法 (又称试探法)具体方法会在下面继续讲解八皇后定义一个八行八列的棋盘 同一个横排 竖排斜线不能有两个或两个以上皇后根据这个规则 下图 第五行没有一个位置满足条件于是回到第四行 继续在下一列试探解决这个问题并不需要定义一个8*8的二维数组 而是学会 存储我们定义三个数组 分别是 cal ,left, right,cal 存储当前列是否有皇后 如果有 修改值为1left存储 ...原创 2019-10-15 23:35:22 · 114 阅读 · 0 评论 -
归并排序
原理 如果有两个已经排好序的数组合并到一个大数组把前四个和后四个合并设最左边是L 中间是M 最右边是R对比 i j 的大小首先 i 指的值比较小 将i指的值填入arr里然后i指针上移 J指向的值更小将j值填入后 j指针上移顶格的时候怎么办呢??准备两个数组#include <stdio.h>#include <stdlib.h>void m...原创 2019-09-26 16:39:05 · 63 阅读 · 0 评论 -
递归详细解释
递归如图 每一项都是前面一项+1可以发现f(n)=f(n-1)+1 关系f(1)=1 出口再看一个例子这两个数列的关系都是f(n)=f(n-1)+1所以需要一个递归出口怎么把它写成代码呢返回值是int 参数是下标 写成代码:int f(int n){ //递归出口 if(n==1) { return 1; } else{ //递归关系 ...原创 2019-09-25 18:09:42 · 1029 阅读 · 0 评论 -
二叉树的代码动态规划
树的代码创建节点#include <stdio.h>#include <stdlib.h>//定义节点struct node{ int data; struct node* left; struct node* right;}Node;//先序遍历 传入根节点void preorder(Node* node){ //根左右 if(node!=N...原创 2019-09-21 21:56:53 · 183 阅读 · 0 评论 -
数据结构 串的存储结构
定长数据串基本操作插入位置pos将串分为两部分 有三种情况情况一:插入后总长大于原长情况二:插入后总长等于原长第三种:小于串的模式匹配目的:主要是消除了主串指针的回溯,从而使算法效率有了某种程度的提高。kmp算法引入了一个next数组next[i]表示的是前i的字符组成的这个子串最长的相同前缀后缀的长度!怎么理解呢?例如字符串aababaaba的相同前缀后缀有a和aaba,那...原创 2019-05-30 20:08:43 · 241 阅读 · 0 评论 -
c结构体详解 typedef
https://blog.csdn.net/zhanghow/article/details/53463825原创 2019-06-04 17:51:11 · 552 阅读 · 0 评论