搜索资源列表
nearpiont
- 最接近点对问题是求二维坐标中的点对问题,该算法是为了将平面上点集S线性分割为大小大致相等的2个子集S1和S2,我们选取一垂直线l:x=m来作为分割直线。其中m为S中各点x坐标的中位数。由此将S分割为S1={p∈S|px≤m}和S2={p∈S|px>m}。从而使S1和S2分别位于直线l的左侧和右侧,且S=S1∪S2 。由于m是S中各点x坐标值的中位数,因此S1和S2中的点数大致相等。 递归地在S1和S2上解最接近点对问题,我们分别得到S1和S2中的最小距离δ1和δ2。现设δ=min(δ
aaa
- 分治法解决最近对问题 画一条垂直线x=c,把这些给定点分为两个包含n/2个点的子集S1和S2,使得n/2个点位于直线的左侧或直线上,另外n/2个点位于直线的右侧或直线上;遵循分治法的思想,递归地求出左子集S1和右子集S2中的最近对,分别为d1与d2;之后d=min{d1,d2}。合并过程:在以垂线x=c为对称轴,2d为宽度的区域内求最近两个点的距离,记为d3;求D=min{d,d3};
First_Assignment
- 从左到右及从右到左遍历一个单链表是可能的,其方法是在从左向右遍历的过程中将连接方向逆转,如右图所示。在图中的指针p指向当前正在访问的结点,指针pr指向指针p所指结点的左侧的结点。此时,指针p所指结点左侧的所有结点的链接方向都已逆转。 (1) 编写一个算法,从任一给定的位置(pr, p)开始,将指针p右移k个结点。如果p移出链表,则将p置为0,并让pr停留在链表最右边的结点上。 (2) 编写一个算法,从任一给定的位置(pr, p)开始,将指针p左移k个结点。如果p移出链表,则将p置为0
Movelist
- 本程序实现从左到右及从右到左遍历一个单链表的功能。pr是p所指结点左侧的结点。从任一给定的位置(pr, p)开始,将指针p右移k个结点。如果p移出链表,则将p置为0,并让pr停留在链表最右边的结点上。从任一给定的位置(pr, p)开始,将指针p左移k个结点。如果p移出链表,则将p置为0,并让pr停留在链表最左边的结点上。
QuickSort
- 任取待排序记录序列中的某个记录(例如取第一个记录)作为基准(枢),按照该记录的关键字大小,将整个记录序列划分为左右两个子序列: 左侧子序列中所有记录的关键字都小于或等于基准记录的关键字 右侧子序列中所有记录的关键字都大于基准记录的关键字 -Take any sequence of records to be sorted in a record (for example, take the first record) as a reference (pivot), in accor
Huffmancode
- 着先通过 HuffmanTree() 函数构造哈夫曼树,然后在主函数 main()中自底向上开始(也就是从数组序号为零的结点开始)向上层层判断,若在父结点左侧,则置码为 0,若在右侧,则置码为 1。最后输出生成的编码-The first HuffmanTree () function to construct Huffman tree, and then main () main () the bottom up (that is, the array number zero node) t