摘要: 中序非递归遍历算法: 遇到一个节点,就把它压栈,并去遍历它的左子树; 当左子树遍历结束后,从栈顶弹出这个节点并访问它; 然后按其右指针再去中序遍历该节点的右子树。 中序非递归遍历代码: 阅读全文
posted @ 2017-04-22 11:14 锅里煮水 阅读(1245) 评论(0) 推荐(2) 编辑
摘要: 算法思路:两个指针P1和P2分别指向这两个多项式第一个节点,不断循环: P1->expon==P2->expon:系数相加,若结果不为0,则作为结果多项式对应项的系数。同时,P1和P2都分别指向下一项; P1->expon>P2->expon:将P1的当前项存入结果多项式,并使P1指向下一项; P1 阅读全文
posted @ 2017-04-20 16:51 锅里煮水 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 从头到尾读取中缀表达式的每个对象,对不同对象按不同的情况处理。 运算数:直接输出; 左括号:压入栈; 右括号:将栈顶的运算符弹出并输出,直到遇到左括号(出栈,不输出); 运算符: 若各对象处理完毕,则把堆栈中存留的运算符一并输出。 中缀转换为后缀示例:(2*(9+6/3-5)+4) 堆栈状态 (底< 阅读全文
posted @ 2017-04-20 11:04 锅里煮水 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 编写C++程序求解多项式f(x)=a0+a1*x+a2*x2+...+an*xn 方法一: 时间复杂度为O(n)+O(n2) 方法二: f(x)=a0+x*(a1+x*(...(an-1*x+an)...)) 时间复杂度为O(n)。 阅读全文
posted @ 2017-04-19 16:40 锅里煮水 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 方法一: 时间复杂度为O(n3)。方法二: 时间复杂度为O(n2)。方法三: 分而治之 时间复杂度为O(nlgn)。 方法四: 时间复杂度为O(n)。 阅读全文
posted @ 2017-04-19 16:13 锅里煮水 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 广度优先搜索: 可确保找到最优解,但是因扩展出来的节点较多,且多数节点都需要保存,因此需要的存储空间较大。用队列保存节点。 算法: 广度优先搜索的代码框架: BFS() { 初始化队列 while(队列不为空且未找到目标节点) { 取队首节点扩展,并将扩展出的非重复节点放入队尾; 必要时要记住每个节 阅读全文
posted @ 2017-04-17 16:16 锅里煮水 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 广度优先搜索与深度优先搜索的区别: 广搜一般用于状态表示比较简单、求最优策略的问题 优点:是一种完备策略,即只要问题有解,它就一定可以找到解。并且,广度优先搜索找到的解,还一定是路径最短的解。 缺点:盲目性较大,尤其是当目标节点距初始节点较远时,将产生许多无用的节点,因此其搜索效率较低。需要保存所有 阅读全文
posted @ 2017-04-17 15:57 锅里煮水 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 【转】cookie 与session 的区别详解 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依 阅读全文
posted @ 2017-04-15 13:32 锅里煮水 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 进程调度 基本属性 1.多态性 从诞生、运行,直至消灭。 2.多个不同的进程可以包括相同的程序 3.三种基本状态 它们之间可进行转换 4.并发性并发执行的进程轮流占用处理器 基本状态 基本状态 1.等待态:等待某个事件的完成; 2.就绪态:等待系统分配处理器以便运行; 3.运行态:占有处理器正在运行 阅读全文
posted @ 2017-04-15 09:34 锅里煮水 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 本文转载自:http://blog.csdn.net/a724888/article/details/70038420 进程运行时,若其访问的页面不在内存而需将其调入,但内存已无空闲空间时,就需要从内存中调出一页程序或数据,送入磁盘的对换区。选择调出页面的算法就称为页面置换算法。好的页面置换算法应有 阅读全文
posted @ 2017-04-15 09:04 锅里煮水 阅读(2862) 评论(0) 推荐(1) 编辑