数据结构与算法

    这个程序是在大三上学期期末之后实现的,当时手机上有一个推箱子游戏,有 几关怎么也过不去,一怒之下写了个程序,加了几个优化之后,效率还凑合。最坏情况下也可以在几秒时间内解出7*7的推箱子,一般关卡基本上1秒之内。这个 程序还有很大的优化空间的,只是写时间长了,就不想去继续优化了。    程序简介    采用广度优先搜索,自己实现了简单的hashMap用以存储状态    程序从 in.txt 读入数据,第一行是一个数,表示数据有几关,下面是若干个字符矩阵,给一组输入样例5###########*@*######*#D**###*BO*O*###**DD*######*#O######*...
2015/1/10 9:1:37翻牌: 7548临幸: 3
    spimi算法实现的倒排索引的构建,并且对倒排索引进行了Gamma编码压缩,对词典进行了单一字符串压缩,分别写入了二进制的倒排索引文件和词典文件。源码可以在这里下载。http://download.csdn.net/detail/longmenwaideyu/8348061这其实是我刚刚上交了的现代信息检索的作业。spimi算法    内存式单遍扫描索引构建算法SPIMI(Single-pass in-memory indexing)基本思想如下    关键思想1: 对每个块都产生一个独立的词典--不需要在块之间进行term-termID的映射    关键思想2: 对倒排记录表不排序,...
2019/3/31 7:39:28翻牌: 1977临幸: 0
主要功能:把一个字符串转成一个整数ID,根据一个整数ID找回字符串            支持增加、删除、查找、保存到文件和从文件读取。需要改进:    查找操作先使用hash算法确定一个bucket,缩小查找范围,然后在这个bucket里面用StringArray.Search,最简单的遍历方法进行查找,所以Add/Delete会比较慢,考虑到Search(IntegerID)的调用次数要远多于Add(string)/Delete(string)的次数,就没有对这部分做优化。    改进方法1:        在StringArray里面再使用一次Hash算法(需要换一个hash算法)进一步...