博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 3 4 5 6 7

2009年11月15日

摘要: 一.实验目的1、掌握稀疏矩阵的三元组表示方法,了解它的其他表示方法;2、掌握稀疏矩阵的基本算法。二、实验内容1、编写函数,创建用三元组表示的稀疏矩阵;2、编写函数,求指定位置的稀疏矩阵元素值;3、编写函数,修改指定位置的稀疏矩阵元素值;4、编写函数,求稀疏矩阵的转置矩阵(用两种算法)。#include <stdio.h>#define MAX 10 /*非0元素最大为10个*/typedef struct{ int row; /*非0元素的行、列下标*/ int col; int e; /*非0元素值*/}Triple;typedef struct /*稀疏矩阵存储结构*/{ Tr 阅读全文

posted @ 2009-11-15 18:42 little健健 阅读(943) 评论(0) 推荐(0) 编辑

2009年11月14日

摘要: Given input {4371, 1323, 6173, 4199, 4344, 9679, 1989} and a hash function h(X) = X (mod 10), show the resulting:a. Separate chaining hash table.b. Open addressing hash table using linear probing.c. Open addressing hash table using quadratic probing.d. Open addressing hash table with second hash fun 阅读全文

posted @ 2009-11-14 17:02 little健健 阅读(964) 评论(0) 推荐(0) 编辑

摘要: a). Show the result of inserting the following keys into an initially empty 2-3 tree: 3, 1, 4, 5, 9, 2, 6, 8, 7, 0.b). Show the result of deleting 0 and then 9 from the 2-3 tree created in part (a).a)b) 阅读全文

posted @ 2009-11-14 00:44 little健健 阅读(315) 评论(0) 推荐(0) 编辑

2009年11月13日

摘要: 1.基本想法:当一个节点被访问后,他就要经过一系列AVL树旋转被放到根上2.从空树开始任意连续M次对树的操作最多花费O(M log N)3.不要求保留高度或平衡信息4展开(1)从底部向上沿着访问路径旋转(2)if {X的父节点是树根} {旋转X和根节点} else if {X向上子孙三代是之字形} {AVL旋转} else {LL转或RR转} (这是X向上子孙三代是一字形)习题一题Show the result of accessing the keys 3, 9, 1, 5 in order in the splay tree结果: 阅读全文

posted @ 2009-11-13 21:46 little健健 阅读(267) 评论(0) 推荐(0) 编辑

摘要: 1.AVL树是带有平衡条件的二叉查找树。2.空子树高度定义为-13.一棵AVL树是其每个节点的左子树和右子树的高度最多差1的二叉查找树4.一棵AVL树的高度最多为1.44log(N+2)-1.3285.AVL树高度为h,S(h)(最小节点数)=S(h-1)+S(h-2)+1 h=0,S(h)=1;h=1,S(h)=2;6.重新平衡的节点叫做A(从叶节点开始往上一层层看)7.操作8.插入(O(log N))(1)A的左儿子的左子树进行插入 一次右旋转(2)A的右儿子的右子树进行插入 一次左旋转(3)A的左儿子的右子树进行插入 先对左儿子的右子树进行左旋转,再将左儿子进行右旋转(4)A的右儿子的左 阅读全文

posted @ 2009-11-13 21:30 little健健 阅读(338) 评论(0) 推荐(0) 编辑

2009年11月9日

摘要: 【问题描述】编号为1,2… n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数, 报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。【基本要求】(1) 利用单循环链表作为存储结构模拟此过程; (2) 键盘输入总人数、初始报数上限值m及各人密码; (3) 按照出列顺序输出各人的编号。【测试数据】m的初值为20;n=7,7个人的密码依次为:3,1,7,2,4,8,4,首先m值为6(正确的出列顺序为6 阅读全文

posted @ 2009-11-09 13:54 little健健 阅读(361) 评论(1) 推荐(0) 编辑

摘要: 1、编写函数,实现运算符的优先级处理2。编写函数,实现算术表达式的运算算法源程序:#include <stdio.h>#include <stdlib.h>#define MAX 100typedef struct //运算数{int a[MAX];int top;}OPND;typedef struct //运算符{char a[MAX];int top;}OPTR;void Init_OPND(OPND *s); //初始化运算数栈 void Push_OPND(OPND *s,int x); //push一个运算数 int Pop_OPND(OPND *s); / 阅读全文

posted @ 2009-11-09 12:21 little健健 阅读(8655) 评论(0) 推荐(1) 编辑

2009年11月8日

摘要: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jernymy/archive/2009/11/07/4783550.aspx单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。[编辑] 动态单链表单向链表的数据结构可以分为两部分:数据域和指针域,数据域存储数据,指针域指向下一个储存节点的地址。/*線性表的單鏈表存儲结構*/typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList;/*带有头结點的單鏈表的基本操作(12个)* 阅读全文

posted @ 2009-11-08 21:58 little健健 阅读(276) 评论(0) 推荐(0) 编辑

摘要: 需要加头文件#inclde <stdlib.h>函数源码int atoi(const char *s) { char *p = s; char c; int i = 0; while(c=*p++) { if(c>='0' && c<='9') { i = i*10 + (c-'0'); } else return -1; } return i; } 程序例: #include <stdio.h>#include <stdlib.h>int main(void){int n;char 阅读全文

posted @ 2009-11-08 21:02 little健健 阅读(234) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7