汇编网首页登录博客注册
wukong的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏

[2012-02-28 22:28] 数据结构排序一:基本排序

排序(sort)或分类
一:
     所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下:
  输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。
  输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。

1.被排序对象--文件
  被排序的对象--文件由一组记录组成。
  记录则由若干个数据项(或域)组成。其中有一项可用来标识一个记录,称为关键字项。该数据项的值称为关键字(Key)。
在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字...
阅读全文 | 评论次数(2) | 浏览次数(328) | 所属类型(数据结构)

[2012-02-27 20:20] 数据结构基本数据结构之二叉树三基本操作

typedef char ElemType;

typedef struct Node{
char data;
struct Node * lchild;
struct Node * rchild;
}BitNode,*BiTree;//二叉树节点,二叉链表
基本操作:
  InitBiTree( &T )
操作结果:构造空二叉树T。
int InitBiTree(BiTree *bt)
{
        (*bt) = malloc(sizeof(BitNode));
        if((*bt)==NULL)
                return 0;
        (*bt)->lchild = NULL;
...
阅读全文 | 评论次数(0) | 浏览次数(287) | 所属类型(数据结构)

[2012-02-27 14:04] 数据结构基本数据结构之二叉树遍历

遍历概念

     所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。
从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作:
     (1)访问结点本身(N),
     (2)遍历该结点的左子树(L),
     (3)遍历该结点的右子树(R)。
三种遍历的命名
     根据访问结点操作发生位置命名:
  ① NLR:前序遍历(PreorderTraversal亦称(先序遍历))
         ——访...
阅读全文 | 评论次数(0) | 浏览次数(344) | 所属类型(数据结构)

[2012-02-25 22:07] 数据结构基本数据结构之二叉树一

1树的递归定义:
      树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:
(1)有且仅有一个特定的称为根(Root)的结点;
(2)其余的结点可分为m(m≥0)个互不相交的子集Tl,T2,…,Tm,其中每个子集本身又是一棵树,并称其为根的子树(Subree)。
如果一个无向简单图G 满足以下相互等价的条件之一,那么G 是一棵树:
•        G 是没有回路的连通图。 
•        G 没有回路,但是在G内添加任意一条边,就会形成一个回路。 
•        G 是连通的,但是如果去掉任意一条边,就不再连通。 
•        G 是连通的,并且3顶点的完全图 K3 不是G...
阅读全文 | 评论次数(2) | 浏览次数(477) | 所属类型(数据结构)

[2012-02-24 20:44] 数据结构基本数据结构之字符串习题

字符串习题
1.        利用c的库函数strlen strcpy 写一个算法void StrDelete(char*s,int I,int m),
删除串s中从位置i开始的连续的m个字符。若i>=strlen(s),则没有字符被删除,若i+m>=strlen(s),则将s中从位置i开始直至末尾的字符均被删去。
Code:
/*
        i从0开始
*/
void StrDelete(char*s,int i,int m)
{
        int len = strlen(s);
        if(i>=len-1||i<0)
                return;
        if(i+m>=len)
        {
                *(s+i)=...
阅读全文 | 评论次数(0) | 浏览次数(474) | 所属类型(数据结构)

[2012-02-24 12:56] 数据结构基本数据结构之字符串匹配

字符串匹配
字符串匹配算法是计算机程序中比较常见的算法,它是指现在有一个目标串,给你一个模式串,要求你在该目标串中找出模式串出现的地方。字符串匹配算法由两部分组成:预处理阶段和匹配阶段。
假设    目标串为T[1…n]         模式串为P[1…m]    T和P中记录都是在有限集合∑中,如记录是十进制数字时,∑={0,1,2,3,4,5,6,7,8,9,},记录是字符时,∑={a,b,c……,x,y,z}. 
1.①朴素匹配算法:核心思想:既然给我一个目标串T,一个模式串P,要在T中找出P出现的所有位置。那我就找,从第i(0,1,2,3……)个元素开始进行匹配,如果匹配成功则输...
阅读全文 | 评论次数(0) | 浏览次数(368) | 所属类型(数据结构)

[2012-02-22 18:37] 数据结构基本数据结构之串(二)

5. 串的基本运算
字符串转换操作:
atof(将字符串转换成浮点型数)
atoi(将字符串转换成整型数)
atol(将字符串转换成长整型数)
gcvt(将浮点型数转换为字符串,取四舍五入)
strtod(将字符串转换成浮点数)
strtol(将字符串转换成长整型数)
strtoul(将字符串转换成无符号长整型数)
toascii(将整型数转换成合法的ASCII 码字符)
tolower(将大写字母转换成小写字母)
toupper(将小写字母转换成大写字母)
rindex(查找字符串中最后一个出现的指定字符)
strcasecmp(忽略大小写比较字符串)

str...
阅读全文 | 评论次数(3) | 浏览次数(445) | 所属类型(数据结构)

[2012-02-22 17:38] 数据结构基本数据结构之串(一)

1 串(又称字符串)是一种特殊的线性表,它的每个结点仅由一个字符组成。
串(String)是零个或多个字符组成的有限序列。一般记为
                    S="a1a2……an"
①S是串名
      ②双引号括起的字符序列是串值;
    将串值括起来的双引号本身不属于串,它的作用是避免串与常数或与标识符混淆。
③ai(1≤i≤n)可以是字母、数字或其它字符;
     ④串中所包含的字符个数称为该串的长度
2、空串和空白串
     长度为零的串称为空串(Empty String),它不包含任何字符。
     仅由一个或多个空格组成的串称为空白串(...
阅读全文 | 评论次数(0) | 浏览次数(299) | 所属类型(数据结构)

[2012-02-21 17:27] 数据结构第三章基本数据结构之队列

队列的定义及基本运算
1.队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表
(1)允许删除的一端称为队头(Front)。
  (2)允许插入的一端称为队尾(Rear)。
  (3)当队列中没有元素时称为空队列。
  (4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。
2、队列的基本逻辑运算
(1)InitQueue(Q)
     置空队。构造一个空队列Q。
(2)QueueEmpty(Q)
     判队空。若队列Q为空,则返回真值,否则返回假值。
(3) QueueFull(Q)
     判队...
阅读全文 | 评论次数(0) | 浏览次数(290) | 所属类型(数据结构)

[2012-02-20 20:29] 数据结构第三章基本数据结构之栈的应用三(背包问题)

背包问题的求解
假设有一个能装入总体积为T的背包和n件体积为w1,w2,…….wn的物品,选出若干件体积等于T的物品的各种选择.举例:T=10,w1=1,w2=8,w3=4,w4=3,w5=5,w6=2;
      有四组解(1,4,3,2),(1,4,5),(8,2),(3,5,2)
解决的思路:利用栈保存选择的物品,利用回溯法来选择物品,当当前总体积不足时,选择余下物品,当剩余物品都不满不足时,弹出栈顶元素,(不合适),选择该元素后面的物品,当满足=T时,输出栈中物品, 弹出栈顶元素 ,选择该元素后面的物品,继续执行,结束条件是栈空,所有的选择都选择完了.
Code:
////...
阅读全文 | 评论次数(1) | 浏览次数(571) | 所属类型(数据结构)
页码数(3):  1  2  3