
数据结构
我站在桥上看风景
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
埃拉托色尼筛法(来自:算法:C语言实现)
这个程序的功能是: 如果自然数i是素数,则设a[i]为1,否则设为0.首先把数组中的所有元素设为1,否则设为0.首先把数组中的所有元素设为1,已表明没有任何数以被证明是非素数.然后,把数组中所对应索引处已证明是非素数(已知素数的倍数)的元素设为0.如果所有更小素数的倍数都已设为0,a[i]仍为1,则可知它是素数. 因为程序中所用的数组由最简单的元素类型(0-1值)组成的数组,所以直接使用由位组成...原创 2018-08-09 10:58:45 · 4257 阅读 · 2 评论 -
循环链表范例(约瑟夫问题)(来自:算法:C语言实现)
我们构造一个循环链表来表示排成圆圈的人.每人的链接指向圆圈内在他左边的人.整数i表示圆圈内的第i个人.在为1号构造一个节点的循环链表之后,再把2~N号插入到1号节点之后,得到一个1~N的环,并使x指向N.然后从1号开始,跳过M-1个节点把第M-1个节点的链接指向M+1号节点继续这个过程,直到剩下一个节点为止. #include <cstdio> #include <cstdl...原创 2018-08-10 10:45:28 · 385 阅读 · 0 评论 -
二叉树的定义和性质
1.二叉树的定义 二叉树(Binary Tree)是另一种树形结构它的特点是每个结点至多有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任一颠倒. 数据结构的递归定义表明二叉树或为空,或是由一个根结点加上两棵分别称为左子树和右子树的,互不相交的二叉树组成.由于这两棵子树也是二叉树,则由二叉树的定义,它们也可以是空树.由此,二叉树可以有5种基本形态: (a)...原创 2018-08-06 09:40:26 · 531 阅读 · 0 评论 -
链表中的头和尾节点/指针的常规用法(来自:算法:C语言实现)
下面是基本链表处理操作的5种常规用法的实现.这类代码用于内嵌链表处理代码的简单应用中 循环,永远非空 头插入 head->next = head; 在x节点后插入t节点 t->next = x->next, x->next = t; 删除x后的节点 t = x->next, x->next = t->next, free(t); 遍历循环 t = h...原创 2018-08-10 12:33:56 · 3819 阅读 · 0 评论 -
树的定义和基本术语
数据结构时一类重要的非线性数据结构.其中以树和二叉树最为常用,直观来看,树是以分支关系定义的层次结构.树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树来形象表示.树在计算机领域中也得到广泛应用,如在编译程序中,可用树来表示源程序的语法结构.又如在数据库系统中,树形结构也是信息的重要组织形式之一. 树的定义 树:是n(n>=0)个结点的有限集,它或为空树(n=0...原创 2018-08-02 10:00:44 · 282 阅读 · 0 评论