表达式的计算

摘要: 分两步:(1)中缀转后缀;(2)计算后缀表达式 (1)中缀转后缀 操作数的顺序不变; 从左到右扫描,遇到操作数直接输出,遇到操作符,如果栈顶操作符的栈内优先级高于等于当前扫描操作符的入栈优先级,则该操作符出栈,负责扫描操作符入栈; 左括号特殊处理:入栈优先级最高,出栈优先级最低,除了右括号。 操作数 阅读全文
posted @ 2017-09-10 22:27 Valenpqq 阅读(158) 评论(0) 推荐(0) 编辑

环形队列

摘要: 将数组queue[mMaxSize]视为环,队列头指针front,尾指针rear,为了避免二义性,最多只容纳mMaxSize-1个元素; front == rear时,队列为空;front == (rear+1) % mMaxSize时,队列为满; front所指处不放元素; void queueAdd(const int x) { int k = (rear + 1) % mMax... 阅读全文
posted @ 2017-09-10 16:47 Valenpqq 阅读(109) 评论(0) 推荐(0) 编辑

字典树

摘要: 字典树,又叫Trie树,也称前缀树。典型应用是用于统计、排序和保存大量的字符串,经常被搜索引擎系统用于文本词频统计。优点:利用公共前缀来减少查询时间,最大限度地减少查询比较的次数。 struct TrieNode{ char c; bool isLeaf; TrieNode* children[26 阅读全文
posted @ 2017-04-19 14:52 Valenpqq 阅读(93) 评论(0) 推荐(0) 编辑

堆排序

摘要: 1 #include<iostream> 2 3 using namespace std; 4 5 void adjust(int* tree, const int r, const int n) 6 { 7 int e = tree[r]; 8 int i; 9 for (i = 2*r; i<= 阅读全文
posted @ 2017-04-19 14:46 Valenpqq 阅读(66) 评论(0) 推荐(0) 编辑

快速排序

摘要: 一、算法性能 快速排序平均性能良好,平均运行时间为O(nlgn); 最坏情况是每次划分选取的基准都是当前无序区中关键字最小(或最大)的记录,划分的结果是基准左边的子区间为空(或右边的子区间为空),而划分所得的另一个非空的子区间中记录数目,仅仅比划分前的无序区中记录个数减少一个。时间复杂度为O(n*n 阅读全文
posted @ 2017-03-10 19:56 Valenpqq 阅读(142) 评论(0) 推荐(0) 编辑

二叉树遍历

摘要: 1 #include 2 #include 3 4 using namespace std; 5 struct TreeNode 6 { 7 int data; 8 TreeNode *Left, *Right; 9 }; 10 11 TreeNode *root; 12 13 //中序遍历 14 void inorder(Tr... 阅读全文
posted @ 2017-03-10 16:07 Valenpqq 阅读(80) 评论(0) 推荐(0) 编辑

【C++】int转换为string的两种方法(to_string、字符串流)

摘要: 本文转自http://blog.csdn.net/chavo0/article/details/51038397 记录一下用到过的int转换成string的两种方法 第一种是to_string函数,这是C++11新增的,使用非常方便,简单查了下:C++11标准增加了全局函数std::to_strin 阅读全文
posted @ 2017-03-10 16:07 Valenpqq 阅读(500) 评论(0) 推荐(0) 编辑

CodeBlocks单步调制

摘要: 如果没有调试快捷键,可以在View下的Toolbar中进行相应的勾选。 运行至光标处(run to cursor):快捷键F4; 单步执行(next line):F7; 设置断点:F5; 为了查看变量方便,打开watches; 跳入函数(step into); 跳出函数(step out); 结束调 阅读全文
posted @ 2017-03-03 10:06 Valenpqq 阅读(224) 评论(0) 推荐(0) 编辑

字符串模式匹配

摘要: 一、问题 设有字符串s和pat,长度分别为LengthS和LengthP,在s中查找模式pat。 二、简单方法 顺序考察s的第i(0<=i<=LengthS-LengthP)个位置,判断是否为一个匹配的起点,若成功,为S设置p指针,pat设置q指针,扫描判断是否匹配。 时间复杂度O(LengthS* 阅读全文
posted @ 2017-03-02 22:01 Valenpqq 阅读(92) 评论(0) 推荐(0) 编辑

链表

摘要: 一、基本知识 链表中各对象按线性顺序排序; 链表与数组不同,数组按下表访问(随机),链表按指针访问(顺序)。 二、分类 1、单链表与双链表 单链表:next指针; 双链表:prev指针,next指针。 2、已排序与未排序 已排序链表:链表的线性顺序对应表中各元素的线性顺序; 未排序列表:元素按任意顺 阅读全文
posted @ 2017-03-02 19:56 Valenpqq 阅读(108) 评论(0) 推荐(0) 编辑