摘要: 求n个元素的全排列的所有解可以用减治法:每次拎出一个数做前缀,对剩下的元素再求全排列,直至只剩一个元素。代码源自《算法分析与设计(王晓东)》,复杂度O(n!) 1 //输出k~m的所有全排列 2 void perm(int k,int m) 3 { 4 if(k==m) 5 { 6 ... 阅读全文
posted @ 2015-10-09 01:58 helena_wang 阅读(1756) 评论(0) 推荐(1) 编辑
摘要: 此题按照《挑战程序设计竞赛(第2版)》P89的解法,不容易想到,但想清楚了代码还是比较直观的。 并查集模板(包含了记录高度的rank数组和查询时状态压缩) 并查集是用于维护“属于同一集合”的数据结构,然而这道题的“属于同一集合”并不指“是同类”,而是指“这几个情况若发生必然同时发生”。 我们从理解题 阅读全文
posted @ 2015-09-01 15:01 helena_wang 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给n个数,一个长度为k(k<n)的闭区间从0滑动到n,求滑动中区间的最大值序列和最小值序列。 最大值和最小值是类似的,在此以最大值为例分析。 数据结构要求:能保存最多k个元素,快速取得最大值,更新时删去“过期”元素和“不再有希望”的元素,安放新元素。 单调队列的基本概念百度百科讲得比较清楚 阅读全文
posted @ 2015-08-29 22:03 helena_wang 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 人工智能课的实验。数据结构:多叉树这个实验我写了好久,开始的时候从数据的读入和表示入手,写到递归建树的部分时遇到了瓶颈,更新样例集和属性集的办法过于繁琐;于是参考网上的代码后重新写,建立决策树类,把属性集、样例集作为数据成员加入类中,并设立访问数组,这样每次更新属性集、样例集时只是标记访问数组的对应... 阅读全文
posted @ 2015-06-16 23:05 helena_wang 阅读(1358) 评论(1) 推荐(1) 编辑
摘要: 人工智能课程的实验(我的解法其实更像是算法课程的实验)用到的算法:深度优先搜索、宽度优先搜索(状态扩展的不同策略)数据结构:表示状态的结构体、多维数组(可能是最近做算法竞赛题的影响,这次并不像以前那样依赖类和面向对象了,而是用最简单(几乎没有封装)的数据表示方法和大量的全局变量来存储数据,用面向过程... 阅读全文
posted @ 2015-05-26 12:01 helena_wang 阅读(1022) 评论(0) 推荐(0) 编辑
摘要: 学校Java课的课程实验之一。用到的数据结构:哈希表题目要求:1.建立的图书类包含如下信息:编号、书名、作者、出版社、出版日期。2.能够实现根据以下关键字查询图书:编号、书名、作者、出版社。3.能够实现图书信息的录入、删除和修改。4.录入的图书至少要有10本以上。5.具有图形用户界面.功能介绍:录入... 阅读全文
posted @ 2015-04-21 16:32 helena_wang 阅读(1116) 评论(0) 推荐(0) 编辑
摘要: 学校数据结构的课程实验之一。用到的数据结构:无向带权图用到的算法:Floyd最短路径算法,深度优先搜索(递归实现)需求分析: 设计一个校园导航程序,为访客提供各种信息查询服务:1.以图中各顶点表示校内各单位地点,存放单位名称,代号,简介等信息;以边表示路径,存放路径长度等相关信息。2.图中任意单位... 阅读全文
posted @ 2015-04-15 23:14 helena_wang 阅读(1020) 评论(0) 推荐(1) 编辑
摘要: 学校数据结构的课程实验之一。数据结构:(其实只用了一个二维数组)算法:深度优先搜索,试探回溯需求分析: 设计一个在控制台窗口运行的“n皇后问题”解决方案生成器,要求实现以下功能: 由n*n个方块排成n行n列的正方形称为n元棋盘。如果两个皇后位于n元棋盘上的同一行、同一列或同一对角线上,则称它们在... 阅读全文
posted @ 2015-04-14 22:21 helena_wang 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 学校的数据结构课程实验之一。用到的数据结构:栈、队列需求分析 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序依次排列。 若车场内已停满n辆汽车,则后来的汽车只能在门外便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场... 阅读全文
posted @ 2015-04-12 21:25 helena_wang 阅读(2207) 评论(0) 推荐(0) 编辑
摘要: 学校数据结构的课程实验之一。用到的数据结构:双向链表主要功能:对由用户输入的两个任意长的整数进行加减运算主函数: 1 int main() 2 { 3 4 short num;//临时数据段 5 char optr;//运算符 6 char ch;//临时字符接收 ... 阅读全文
posted @ 2015-04-11 22:46 helena_wang 阅读(2488) 评论(0) 推荐(0) 编辑