
数据结构
没被稻草压垮的骆驼
不妥协.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图论/ 极大团和最大团
团(clique):一个无向图的完全子图。该图中有很多团,比如:......极大团:如果一个团不被其他任一团所包含,即它不是其他任一团的真子集,则称该团为图G的极大团(maximal clique)。由于团{0,5}属于{0,4,5},故{0,5}不是极大团:最大团:就是在所有团中结点数最多的极大团。...原创 2021-07-22 15:42:32 · 3857 阅读 · 1 评论 -
STL——栈
头文件:#include <stack>创建栈:stack<int>s;常用方法:s.empty();//如果栈为空返回true,否则返回false s.size();//返回栈中元素的个数 s.pop();//删除栈顶元素但不返回其值 s.top();//返回栈顶的元素,但不删除该元素 s.push(X);//在栈顶压入新元素 ,参数X为要压入的...原创 2020-01-22 12:54:49 · 181 阅读 · 0 评论 -
优化的冒泡排序
#include<stdio.h>void sort (int arr[], int len) { int temp;//暂存值 int i, j; for (i=0; i<len-1; i++){ //排序趟数,len个数进行len-1趟 int flag=0; for (j=0; j<len-1-i; j++) { /...原创 2020-01-10 15:39:46 · 231 阅读 · 0 评论 -
栈和队列
/*栈的特点:先进后出应用:1.反向输出(十进制转换任意进制、回文串判断)2.对最近事件回退处理(行编辑程序、括号匹配、迷宫问题、中缀转后缀)3.递归(斐波那契数列、汉罗塔、二叉树的非递归遍历改写(节点祖先问题))队列特点:先进先出应用:1.二叉树的层次遍历(二叉树的每层结点个数、二叉树的宽度、二叉树某结点的层次、二叉树的高度)2. 图的广度优先遍历(连通块数量、无权图的最短...原创 2019-12-30 10:52:00 · 253 阅读 · 0 评论 -
线性表
/* 删除: 1.删除线性表中元素为X的值 2.将顺序表中所有元素偶数元素放到奇数元素之前(14) 3.去掉有序线性表中相同元素(16) 反转交换: 4. 反转线性表 5. 循环左移线性表n个元素 合并: 6. 合并两个升序线性表(03) 7. 求两个线性表的集合元素的并集。 思维拓展(要求最佳性...原创 2019-12-30 10:53:16 · 333 阅读 · 0 评论 -
汉诺塔
// x y z// === === === void hanoi(int n,char x,char y,char z){ if(n==1) move(x,1,z); //将编号为1的圆盘从x移动到z else { hanoi(n-1,x,z,y); move(x,n,z); //把编号为n的圆盘从x移动到z hanoi(n-1,y,x,z);...原创 2019-12-30 10:52:17 · 165 阅读 · 0 评论 -
前中后缀表达式相关算法
目录前言1.判断优先级函数2.运算函数3.取运算数、操作数进行运算一、表达式转换1.中缀表达式转后缀表达式2、中缀表达式转前缀表达式二、表达式求值1.中缀表达式求值2.前缀表达式求值3.后缀表达式求值前言1.判断优先级函数int getPiority(char op){ if(op=='+'||op=='-') return 0...原创 2019-12-30 10:52:56 · 267 阅读 · 0 评论 -
线性表
目录相关结构一、创建单链表1.头插法2.尾插法二、与删除相关1.删除顺序表中值为x的数2.去掉顺序表相同的元素三、线性表的移动1.将顺序表中所有元素偶数元素放到奇数元素之前2.将顺序表循环左移n个元素四、顺序表的合并1.合并顺序表2.求两个线性表集合的并集五、其他1.找出顺序表中出现次数大于一半的元素2.找出有公共后缀的单链表...原创 2019-12-30 10:51:21 · 241 阅读 · 0 评论 -
新建二叉树并实现基础遍历
//创建一棵树并实现各种遍历 #include <iostream>#include<stack>#include<queue>#include<malloc.h>#define MAXSIZE 500using namespace std;typedef struct BiTNode{ char data; stru...原创 2019-10-04 17:28:19 · 154 阅读 · 0 评论