信息检索上机报告..doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息检索上机报告.

信息储存与检索上机报告 (一)逆波兰变换 一、上机题目: 编写算法和程序,实现布尔检索式的逆波兰变换。 二、试验编程语言:C语言 三、程序设计总体思路: 1、建立两个栈:算项指针栈和算符栈。 2、将表达式送入表达式数组,从左向右扫描检索提问表达式中的字符,对当前字符做如下处理: ⑴如果是算项,将指向该算项的指针放到算项栈中。 ⑵如果是“(”,则“(”无条件进算符栈,如果是“)”,则将算符栈中“(”以及“(”以上的算符出栈。 ⑶如果是运算符+ - *,将他们与算符栈栈顶算符进行比较,如果优先级高于那个算符,将此算符进栈。如果低于算符栈栈顶算符,则把那个算符作为树的根节点。这时算项栈栈顶指针出栈,其所指字符作为右孩子,再将此时算项栈栈顶指针出栈,作为该根节点的左孩子;再将指向该根节点的指针入算项栈。也就是将此时的这棵树作为了一个算项。如此循环直到表达式数组最后一个运算符为终止符“﹒” 。一棵表达式二叉树建立完成。 3、后序遍历此二叉树,显示逆波兰表达式。 四、程序源代码 #include stdafx.h #include stdafx.h #includestdio.h #includestring.h typedef struct{char s[20][20];int top;}SQ; void copystr(char *a,char *b) { int i=0; do { b[i]=a[i]; i++; } while(a[i]!=\0); b[i]=\0; } void voidSQ(SQ *s) { s-top=-1; } int ifempty(SQ *s) { return(s-top==-1); } void push(SQ *S,char *c) { if(S-top==19) printf(over flow\n); else { S-top++; copystr(c,S-s[S-top]); } } char *pop(SQ *S) { if(ifempty(S)) { printf(over flow!\n); return(NULL); } else return(S-s[S-top--]); } int judge(char *c) { if(c[1]==\0) switch(c[0]) { case +:return(3); case -:return(3); case *:return(2); case /:return(2); default:return(1); } else return(1); } void write(char *a,char *b,char *c) { strcat(a,c); strcat(a,b); } int seek(char *c,int start) { int signal=1; for(start=start++;c[start]!=\0signal!=0;start++) { if(c[start]==)) signal--; else if(c[start]==() signal++; } if(signal==0) return(start-1); else { printf(输入无效式子\n); return(-1); } } void FB(SQ *A,SQ *B) { for(;!ifempty(A);) { push(B,A-s[A-top]); pop(A); } } char *rewrite(char *A) { SQ front; SQ back; int i,j,k,flag=0; char *result; char mid[20]; voidSQ(front); voidSQ(back); for(i=0;A[i]!=\0;) { if(A[i]==() { j

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档