DS-013 栈-中缀表达式转后缀表达式

方法1:从左到右遍历中缀表达式的每个数字和符号,若是数字就输出,即成为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,是右括号或优先级不高于栈顶符号(乘除优先加减)则栈顶元素依次出栈并输出,并将当前符号进栈,一直到最终输出后缀表达式为止。 方法2:将中缀表达式中所有的子表达式按计算规则...

2018-10-05 17:35:30

阅读数 47

评论数 0

DS-012 栈-括号匹配

假设一个算术表达式中包含圆括号、方括号和花括号三种类型的括号,编写一个算法来判别表达式中的括号是否配对,以字符‘\0’作为算术表达式的结束符。 算法思想: 遇到左括号,依次入栈,且后入栈的左括号更急迫期待配对;遇到右括号,取出栈顶括号,检查是否和这个右括号配对。如果匹配不成功,直接返回括号序列...

2018-10-05 15:11:52

阅读数 82

评论数 1

DS-011 栈-递归

递归指在一个函数、过程或数据结构的定义中应用到了它自身。递归的精髓在于能否将原始问题转换为属性相同但规模较小的问题。 下面的代码最后会返回4。(f(0)=2,f(1)=1*f(0) = 2, f(2)=2*f(1) = 4) if f(int x){ return ((x&g...

2018-10-05 13:37:51

阅读数 42

评论数 0

DS-010 链表-查找倒数第k个位置上的结点

已知一个带有表头结点的单链表,结点结构为: data link 假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则...

2018-10-04 23:40:59

阅读数 385

评论数 0

DS-009 链表-删除值为x的结点

题目:设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点。 分析:递归算法,函数调用函数本身。 单链表,每个结点只有指针指向下一个结点。删除结点:找到这个结点,前一个结点指向它后一个结点,删除这个结点。 void Del_x_recursion(Linklist &amp...

2018-10-01 21:46:37

阅读数 141

评论数 0

DS-008 顺序表-寻找主元素

题目:已知一个整数序列A=(a0,a1,…,an-1),其中0≤ai<n(0≤i<n)。若存在ap1=ap2=…=apm=x且m>n/2(0≤pk<n,1≤k≤m),则称x为A的主元素。例如A=(0,5,5,3...

2018-09-30 19:57:35

阅读数 99

评论数 0

DS-007 顺序表-寻找两个序列的中位数

题目:一个长度为L(L≥1)的升序序列S,处在第[L/2]个位置的数称为S的中位数。例如列S1=(11,13,15,17,19),则S1中的中位数是15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若92=(2,4,6,8,20),则.S1和S2的中位数是11。现有两个等长升序序列A...

2018-09-30 18:15:21

阅读数 137

评论数 0

DS-006 顺序表-循环左移p位

0 1 2 3 4 5 6 7 8 9 循环左移4位: 4 5 6 7 8 9 0 1 2 3    题目:设将n(n>1)个整数存放到一维数组R中。设计一...

2018-09-30 16:35:25

阅读数 145

评论数 0

DS-005 顺序表-二分查找

题目:线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储在计算机中。要求设计一个算法完成用最少时间在表中查找值为x的元素,若找到将其与后继元素位置相交换,若找不到将其插入表中并使表中元素仍递增有序。 算法思想:有序顺序表,可以用二分查找(折半查找)。 int BinarySear...

2018-09-30 15:28:44

阅读数 106

评论数 0

DS-004 顺序表-删除值重复的元素

题目:从有序顺序表中删除所有其值重复的元素,使表中的值均不同。 算法思想:有序顺序表,值重复的元素一定在连续的位置上。用i记录不重复的元素。用顺序表前面的i个位置保存不重复的元素,后面的元素如果与要保留的顺序表最后一个元素不相同,则留下。扫描完成后,留下的0~i位就是值不重复的元素。 代码: ...

2018-09-30 11:17:32

阅读数 393

评论数 0

DS-003 顺序表--删除所有值为x的元素

题目:长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素。 算法思想:用k记录不等于x的元素个数,即需要保存的元素个数。边扫描L边统计k,并将不等于x的元素向前放置k位置上,最后修改L的长度。 代码: void del_x(...

2018-09-29 12:43:38

阅读数 143

评论数 0

DS-002 顺序表--逆置所有元素

问题.设计一个高效的算法,将顺序表所有元素逆置,要求算法的空间复杂度为O(1)。 算法思想:将第一个元素与最后一个元素互换,第二个元素与倒数第二个元素互换,以此类推。 伪代码: void Reverse(SqList &L){ ElemType temp; //中...

2018-09-28 23:41:32

阅读数 45

评论数 0

DS-001 顺序表--删除最小值的的元素

题目:从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空则显示出错信息并退出运行。 算法思想:搜索整个顺序表,查找最小值元素并记住其位置,搜索结束后用最后一个元素填补空出的最小值元素位置。 代码(伪代码): bool Del_Mi...

2018-09-28 22:55:39

阅读数 352

评论数 1

编写Web框架

首先,理解一个Web应用的本质就是: 浏览器发送一个HTTP请求; 服务器收到请求,生成一个HTML文档; 服务器把HEML文档作为HTTP响应的Body发送给浏览器; 浏览器收到HTTP响应,从HTTP Body中取出HTML文档并显示。 我们不希望接触到TCP连接、HTTP原始请求和响应格式,...

2017-12-14 23:00:33

阅读数 335

评论数 0

U盘安装Linux系统

使用U盘作为启动盘安装Ubuntu

2017-12-13 17:12:22

阅读数 5312

评论数 0

编写ORM框架

ORM:Object-Relational Mapping,把关系数据库中的表结构映射到对象上。

2017-12-12 17:45:01

阅读数 215

评论数 0

异步IO、协程、yield from

asyncio编程模型就是一个消息循环。从asyncio模块中直接获取一个EventLoop的引用,然后把需要运行的协程放到EventLoop中执行,就实现了异步IO(不等待IO操作

2017-12-11 21:38:47

阅读数 451

评论数 0

异步IO、协程

python中的异步IO、协程

2017-12-10 21:37:46

阅读数 254

评论数 0

Python核心编程 第二章--Network Programming

手抄了一遍这一章的前八页。

2017-11-23 22:31:15

阅读数 169

评论数 0

Python核心编程 第一章--正则表达式

Core Python Applications Programming。 Python核心编程第一章。

2017-11-21 23:03:19

阅读数 147

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭