博文

练习:简单模式字符串匹配(2006-05-06 20:47:00)

摘要://
//字符串模式匹配:简单模式下的匹配
//用于串的定长顺序结构表示
//
#include <iostream.h>
#include <string>

void main()
{
    char* s="hhhsauhduwdh";
    char* t="sau";
    int i=0;
    int j=0;
    int S=strlen(s);
    int T=strlen(t);
    while(i<S&&j<T)
    {//判定条件i<S&&j<T说明:字符串数组下标从0开始,到字符串长度减1结束
        if(s[i]==t[j]){i++;j++;}
        else {i=i-j+2;j=1;}
    }
    if(j>=T)
        cout<<i-T<<endl;
    else
        cout<<"0"<......

阅读全文(2890) | 评论:0

关于C++的见解[转](2006-05-05 15:26:00)

摘要:  将算法独立抽象出来,在C++中算不上新鲜:STL中就封装了不少高效、健壮、灵活的泛型组件及对应的基础算法,工艺之高、适用性之强,非寻常我辈所轻易能及。这里不打算(也暂没有能力打算)以STL这样的工业级要求来谈论算法封装,只因最近尝翻大师名著,阅者水平有限,仅嗅触至皮毛,理智薄弱,感情却蓬勃发展:也欲尝试“封装”的味道。选择了最简易的穷举算法,抽其骨架,炮制成class,套上一实际例子,观之run之,抽象程度颇低,效率损失弥彰;然却也自觉有可爱之处,遂作此文以记之。诚惶诚恐,便于名目之前加“闲谈”二字,倘果因技术问题招致痛骂,则试以此二字为护文符,聊且一挡。

 

    众所周知,穷举法可视为最简单的搜索:即是在一个可能存在可行状态(可行解)的状态全集中依次遍历所有的元素,并判断是否为可行状态。例如,要设计一个“从一堆苹果中找出蓝色的苹果”这样的穷举算法,则定义:

    (1) 状态全集:一堆苹果

    (2) 可行状态:蓝色的苹果

    噢,好,我们现在已经抽取了两个基本概念,迫不及待要开始穷举了,但……怎么做呢?穷举的关键是“依次遍历”,即做到不重、不漏。呃,我们可以让听话的苹果们排成一行,放在“苹果数组”中,然后呢,我们就可以按照0号苹果、1号苹果、2号苹果、...、n号苹果这样的顺序成功遍历。好,我们解决了遍历苹果的问题……慢,我们现在是设计一个算法的抽象模型,如果一切待穷举的对象都已经活生生地摆在那里,当然有可能把它们全部收集起来并排队,但如果开始的时候我们并不知道所有要穷举的对象,比如我们或许要通过一台安装在探测飞船内的计算机在全宇宙范围内穷举出除地球以外有生命的星球,那么我们的计算机可能是随着飞船的前行方能不断地得到新星球的信息,而不是停在地球的时候就获得全宇宙的星球信息(就算可能,内存或许也装不下如此大的数据量——哪怕宇宙真的是有限“大”的)。所以我们不应当要求穷举进行之前就能获得状态全集中的所有状态,这样一来,我们的“苹果数组”计划就宣告流产了。现在再看看我们激动人心的星球搜......

阅读全文(1480) | 评论:0

ftp命令(2006-05-05 15:23:00)

摘要:ftp命令

一、连线
在提示符号下打入 ftp + 主机名称或位址,连线後会要求你输入你的帐号和密码,此时请在 Username後输入您的帐号、在Password 後输入你的密码。

C:NCSA&gt; ftp sun1cc
C:NCSA&gt; ftp 140.119.1.2
ftp&gt; open sun1cc 或 ftp&gt; open 140.119.1.2

National Center for Supercomputing Applications
FTP version 2.3.06 5/3/93

220 sun1cc FTP server (SunOS 4.1) ready.
Username: nccu506 &lt;---- 输入帐号
331 Password required for nccu506.
Password: _____________ &lt;---- 输入密码
230 User nccu506 logged in. &lt;---- 表登录成功
ftp&gt;

此时便已完成连线,而 "ftp&gt;" 也成为新的提示符号。


二、FTP 指令介绍
在 ftp 的提示符号下打入 "?" 可查询所有指令,在此仅介绍几个常用指令。
1. open
如果在原提示符号下直接打入 "ftp" ,则也会进入 ftp 的提示符号状态,
但此时并未与任何 server 连线,如想进行连线则可在 ftp 的提示符号下打
入 "o + 主机名称或位址" ,如欲脱离 ftp 状态也可打入 "bye" 结束。
2. close
如欲结束连线而不愿离开 ftp ,则可输入 "close" 以结束连线,但仍会停留在 ftp 之提示符号下。
3. user
有时连线後并不会出现 login 的状态,此时使用者可输入 "user" 以进行login。
4. bye
如欲离开 ftp ,请在提示符号下打入 "bye"
ftp&gt; bye
5. 欲查询所在目录的......

阅读全文(209) | 评论:0