
数据结构与算法设计知识点
文章平均质量分 81
u010793761
这个作者很懒,什么都没留下…
展开
-
图的dfs与bfs(深搜广搜)c++实现
以下是基于图的链表表示的:dfs和bfs的演示:http://sjjg.js.zwu.edu.cn/SFXX/sf1/gdyxbl.html (深搜)http://sjjg.js.zwu.edu.cn/SFXX/sf1/sdyxbl.html (广搜)bfs通过检测边发现点,被发现点(但未探索)入队。(被探索是指是否检测过与该点相关联的临近顶点)一个顶点原创 2013-10-20 21:11:00 · 1045 阅读 · 0 评论 -
宏定义知识点
宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。1.不带参数的宏定义:宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”,字符串可以是常数、表达式、格式串等。 在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为原创 2014-04-05 19:54:40 · 682 阅读 · 0 评论 -
sscanf()函数
sscanf编辑sscanf() - 从一个字符串中读进与指定格式相符的数据。swscanf()- 用于处理宽字符字符串,和sscanf功能相同目录1名称2头文件3返回值4说明5支持集合操作6例子1名称编辑函数原型:原创 2014-04-04 21:14:08 · 383 阅读 · 0 评论 -
list容器学习
STL整理使用STL的时候很需要注意的一点是, STL的区间都是左闭右开的.e.g. [start, end) 表示从start开始到end之前一个位置1. list头文件: #include实例化: list类型>ListName原型: namespace std { template > class list; }成原创 2014-04-04 20:29:14 · 514 阅读 · 0 评论 -
scanf()函数
scanf编辑scanf函数,与printf函数一样,都被定义在头文件stdio.h里,因此在使用scanf函数时要加上#include stdio.h>。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。中文名格式输入外文名SCAN Format外语缩原创 2014-04-04 21:13:07 · 752 阅读 · 0 评论 -
scanf()函数输入格式大全
scanf函数格式说明符:%c 字符型%d 十进制数%i 读入十进制,八进制,十六进制数。输入的时候正常是十进制数,若输入0前缀的数将读入八进制,0x前缀读入16进制。若输入09 则读入0,9进入缓冲区%f 浮点数%o 八进制数%s 字符串,碰到空格或回车结束%x 16进制数%p原创 2014-04-04 21:08:20 · 15929 阅读 · 0 评论 -
利用二叉树先序遍历求含n个元素的集合的幂集(used stack and vector)
从集合A的每个元素来看,它只有两种状态:它或者属幂集的元素集,或不属幂集的元素集。则求幂集p(A)的元素的过程可看成是依次对集合A中元素进行取舍过程,并且可以用一棵二叉树(下图),来表示过程中幂集元素的状态变化过程。其中树中的根结点表示幂集元素的初始状态(为空集),叶子结点表示它的终结状态。 因此求幂集元素的过程即先序遍历这棵状态树的过程。所以可以用递归和非递归两种方法求解。#原创 2014-04-18 22:28:50 · 1041 阅读 · 0 评论 -
算法之二叉树中序前序序列(或后序)求解树
这种题一般有二种形式,共同点是都已知中序序列。如果没有中序序列,是无法唯一确定一棵树的。已知二叉树的前序序列和中序序列,求解树。1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的元素。2、求解树的子树。找出根节点在中序遍历中的位置,根左边的所有元素就是左子树,根右边的所有元素就是右子树。若根节点左边或右边为空,则该方向子树为空;若根节点边和右边都为空,原创 2014-03-19 22:03:05 · 635 阅读 · 0 评论 -
算法之中缀表达式和后缀表达式
一、后缀表达式求值后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为:6 5 2 3 + 8 * + 3 + *,则其求值过程如下:(1)遍历表达式,遇到的数字首先放入栈中,依次读入6 5 2 3 此时栈如下所示:(2)接着读到“+”,则从栈中弹出3和2,执行3+2,计算结果等于5,并将5压入到栈中。原创 2014-03-19 22:02:20 · 479 阅读 · 0 评论 -
算法之二叉树各种遍历
树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;原创 2014-03-19 21:59:50 · 421 阅读 · 0 评论 -
慢慢练习,试试
错了一条的代码,都是指针学的不深惹的祸#include#include#include#include#include#include #include#includeusing namespace std;#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEAIBLE -1原创 2014-03-29 18:26:26 · 459 阅读 · 0 评论 -
循环队列知识点
//向循环队列插入元素status enqueue(sqqueue &q,const int&e)//队列插入元素{ if( (q.rear+1)%MAXSIZE==q.front ) return ERROR;//队满返回添加元素错误 q.base[q.rear]=e;//添加元素 q.rear=(q.rear+1)%MAXSIZE;//修改队尾指针指到添加原创 2014-03-11 17:26:46 · 1757 阅读 · 0 评论 -
bfs知识点
广度优先搜索算法(Breadth-First-Search),又译作宽度优先搜索,或横向优先搜索,简称BFS,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。特性 空间复杂度因为所有节点都必须被储存,因此BFS的空间复杂度为 O(|V| + |E|),原创 2014-03-11 20:07:28 · 978 阅读 · 0 评论 -
string 函数原型
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常string类的字符操作:c原创 2013-12-15 20:59:14 · 755 阅读 · 1 评论 -
各种排序集结&归并排序
#include#include#include#include#include#include#include#include#include#include#define INF 99999999using namespace std;const int MAX=10000+10;const int mod=1000000000+7;int s[MAX],temp原创 2013-11-16 16:51:39 · 628 阅读 · 0 评论 -
二叉树三叉链表实现类
#include using namespace std;enum Statue{ TRUE, FALSE, INSERT_ERROR};//二叉树的三叉链表节点结构template class BinaryNode{public: NodeType value; BinaryNode *parent, *lChild, *rChild; Bina原创 2014-04-08 16:20:18 · 687 阅读 · 0 评论