随笔分类 - 数据结构和算法
数据结构相关内容
摘要:桶排序的基本思想
假设有一组长度为N的待排关键字序列K[1....n]。首先将这个序列划分成M个的子区间(桶) 。然后基于某种映
射函数,将待排序列的关键字k映射到第i个桶中(即桶数组B的下标 i) ,那么该关键字k就作为B[i]中的元素(每个
桶B[i]都是一组大小为N/M的序列)。接着对每个桶B[i]中的所有元素进行比较排序(可以使用快排)。然后依次枚举输
出B[0]....B[M]中的全部内容即是一个有序序列。
阅读全文
摘要:马踏棋盘问题(又称骑士周游或骑士漫游问题)是算法设计的经典问题之一。
国际象棋的棋盘为8*8的方格棋盘,现将“马”放在任意指定的方格中,按照“马”走棋的规则将“马”进行移动。要求每个方格只能进入一次,最终使得“马”走遍棋盘64个方格。
编写代码,实现马踏棋盘的操作,要求用1~64来标注“马”移动的路径
阅读全文
摘要:数据结构 KMP 算法实现
KMP 算法关键是要求出next数组下面是求next数组的算法
n利用next[0]= -1,…,next[i] 求next[i+1] 的算法:
假设 k =next [i],
1) 若pk = pi, 则 p0… pi-k…pi 中最大相同前后缀长度为next[i+1] = k+1
2)若pk ¹ pi ,置 k=next[k] ,然后转到 第1步.
(设 k = next[k],就是考虑前一个更短的匹配前缀,从那里继续向下检查)
3)若 k 值(来自next)为-1,就得到p0… pi-k…pi中最大相同前后缀的长度为k = 0(即next [i+1] = 0)
阅读全文
摘要:用队列模拟银行排队的情况
阅读全文
摘要:数据结构作业01 ------ 用链表实现简单多项式加法,2013/3/19
阅读全文
摘要:数据结构是计算机相关专业的核心课程之一, 不仅涉及到计算机硬件的研究范围,而且和计算机软件研究有密切的关系.学号数据结构对我们的编程能力会有很大的提高作用.许多公司招人的时候会考到很多数据结构的内容.
1.1 数据结构定义
目前没有精确的定义,比较常用的定义为有:
1.数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作的学科.( 严蔚敏,吴伟民)
2.数据结构就是数据之间关系的一种逻辑描述及在这些数据上可进行的操作集合.(《数据结构:炫动的0、1之弦》邹恒明)
......
从上面的定义看无论哪种都包含了两个部分,即数据的表示和对数据的操作
阅读全文

浙公网安备 33010602011771号