08 2012 档案
摘要:比如: 10+(18+9*3)/ 15 - 6步骤如下: 首先初始化两个栈,S1,S2;S1存操作数,S2存运算符,然后从左到右扫描, 1.遇到( ,直接进栈 ,遇到 ) 时,把S2中的操作数一直到 ( 之前 ,都存入 S1, 2. 遇到 + — * / 时,如果当前的算符优先级小于S2中的优先级的话,就压入S1中 S1:10 18 9 3 S2:+ ( + * 这时遇到右括号: S1:10 18 9 3 * + S2:+ S1:10 18 9 3 * + 15 s2:+ / S1:10 18 9 3 * + 15 / +6 S2:— S1:10 18 9 3...
阅读全文
摘要:看到CSDN首页一篇blog—— 。文中提到的算法暂不议论,单单看回复——一个网友指责楼主使用Char.IsNumber(str,i)的效率不如(r[i]<'0' || str[i]>'9')这种方法高,楼主连声表示认同——真的令我感慨万分,隔行如隔山呀。这话怎么说?C#这种不开源的语言使多少人对其实现产生了误解,我不是说C#程序员对效率算法研究不及C程序员,我是想说开源的ANSI C绝对能使程序员更准确的理解其实现的本质,从而不会错用、误用代码而不自知。我对C#实现理解不深,因此我来谈谈C中诸如isdigit(c)、isalpha(c)之类函数的实
阅读全文
摘要:/* 1 2 3 6 7 5 4 判断是不是一个合法的二叉排序树后序序列 */#include<iostream>using namespace std;bool isSeq(int a[],int start , int end){ int position; if(start==end) return true; if(start>end) return false; int root=a[end-1]; int i=start; while(a[i]<root && i<end) { i++; } position=i; while(i++
阅读全文
摘要:3.1、摘要 在前面两篇文章中,分别介绍和讨论了朴素贝叶斯分类与贝叶斯网络两种分类算法。这两种算法都以贝叶斯定理为基础,可以对分类及决策问题进行概率推断。在这一篇文章中,将讨论另一种被广泛使用的分类算法——决策树(decision tree)。相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际应用中,对于探测式的知识发现,决策树更加适用。3.2、决策树引导 通俗来说,决策树分类的思想类似于找对象。现想象一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话: 女儿:多大年纪了? 母亲:26。 女儿:长的帅不帅? 母亲:挺帅的。 女儿:收入高不? 母亲:不算很高,
阅读全文
摘要:第一题编写一个方法 求一个字符串的字节长度第二题如何控制alert中的换行第三题解释document.getElementById("ElementID").style.fontSize="1.5em"第四题将一个类似图中的效果分离成css和html第五题按照格式 xxxx年xx月xx日xx时xx分xx秒动态显示时间 要求不足10的补0第六题编写一个方法 去掉一个数组的重复元素第七题说出3条以上ff和ie的脚本兼容问题第八题按要求写一个简单的ajax示例 简单的没意义 就不写了转贴请注明 : http://www.pghome.net 志远工作室1.&l
阅读全文
摘要:在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。 预 备 测试环境: AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server SP4、Sun JDK 1.4.1+Eclipse 2.1+Resin 2.1.8,在 Debug 模式下测试。 XML 文件格式如下: <?xml version="1.0" encoding="GB2312&
阅读全文
摘要:先使用先序的方法建立一棵二叉树,然后分别使用递归与非递归的方法实现前序、中序、后序遍历二叉树,并使用了两种方法来进行层次遍历二叉树,一种方法就是使用STL中的queue,另外一种方法就是定义了一个数组队列,分别使用了front和rear两个数组的下标来表示入队与出队,还有两个操作就是求二叉树的深度、结点数。。。[cpp]view plaincopy#include"iostream"#include"queue"#include"stack"usingnamespacestd;//二叉树结点的描述typedefstructBiTNod
阅读全文
摘要:设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。 不合题意的解法如下: 我们先试验简单的办法,可以每次将数组中的元素右移一位,循环K次。abcd1234--->4abcd123--->34abcd12--->234abcd1--->1234abcd。代码如下所示:[cpp]view plaincopyRightShift(int*arr,intN,intK){while(K--){intt=arr[N-1];for(inti=N-1;i>0;i--){arr[i]=arr[i-1];}arr[0]=t;}}
阅读全文
摘要:只知道先序序列和后序序列是无法求出唯一的树,所以不做讨论。[cpp]view plaincopy#include<iostream>#include<cstdio>#include<cstring>usingnamespacestd;structBinaryTreeNode{charc;BinaryTreeNode*lchild,*rchild;BinaryTreeNode(){lchild=NULL,rchild=NULL;}};structBinaryTreeNode*root1,*root2;charpreorder[100],inorder[100]
阅读全文
摘要:今天看了一下C++ Primer中关于const用法的介绍,讲得很好, 收益匪浅,于是做一个总结,方便以后再次查看。 但是c++在c的基础上新增加的几点优化也是很耀眼的,就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重。 一、const变量 1、限定符声明变量只能被读 const int i=5; int j=0; …… i=j; //非法,导致编译错误 j=i; //合法 2、 必须初始化 const int i=5; //合法 const int j; //非法,导致编译错误 3、在另一连接文件中引用...
阅读全文
摘要:[cpp]view plaincopy//功能:由src所指内存区域复制count个字节到dest所指内存区域。//说明:src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针void*memmove(void*dest,constvoid*src,size_tcount){assert((dest!=NULL)&&(src!=NULL));//安全检查assert(count>0);char*psrc=(char*)src;char*pdest=(char*)dest;//检查是否有重叠问题if(pdest<psrc){//
阅读全文
摘要:题目:已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。分析:要保证rand10()在整数1-10的均匀分布,可以构造一个1-10*n的均匀分布的随机整数区间(n为任何正整数)。假设x是这个1-10*n区间上的一个随机整数,那么x%10+1就是均匀分布在1-10区间上的整数。由于(rand7()-1)*7+rand7()可以构造出均匀分布在1-49的随机数(原因见下面的说明),可以将41~49这样的随机数剔除掉,得到的数1-40仍然是均匀分布在1-40的,这是因为每个数都可以看成一个独立事件。下面说明为什么(rand7()-1)*7
阅读全文
摘要:全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非 递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和 理解。对本文有任何补充之处,欢迎大家指出。首先来看看题目是如何要求的(百度迅雷校招笔试题)。用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列, 如 abc 的全排列: abc, acb, bca, dac, cab, cba一.全排列的递归实现为方便起见,用123来示例下。123的全排列有123、132、213、231、312
阅读全文

浙公网安备 33010602011771号