数据结构
twilight0402
以铜为镜,可以正衣冠;以史为镜,可以知兴替;以人为镜,可以明得失
展开
-
根据父子关系建立多叉树
【代码】根据父子关系建立多叉树。原创 2022-10-13 11:08:57 · 509 阅读 · 0 评论 -
大根堆和堆排序的原理与实现
shift up插入一个元素时,把元素追加到列表的最后,也就是堆的叶子节点上。然后执行shifup操作,对新元素进行从下往上的调整。判断当前元素是否比父节点更大,如果是,则交换。否则就终止。因为插入一个元素时,列表已经是一个大根堆,所以当出现父元素大于自己时,就没有必要继续,因为父元素的父元素值更大。shift down删除一个元素时,把该元素和列表的最后一个元素交换。然后列表的长度减一(如果用count计数的话)。剩余的元素进行shiftdown操作。shiftdown,如果两个孩原创 2020-12-01 01:04:47 · 1602 阅读 · 0 评论 -
二分法查找
二分法查找原创 2016-11-21 11:10:39 · 277 阅读 · 0 评论 -
带头结点的链表的逆置
不申请新的内存,在原有的链表的基础上实现逆置链表#include <stdio.h>原创 2016-11-07 23:22:57 · 668 阅读 · 2 评论 -
顺序表
顺序表基本用法原创 2016-10-31 18:56:45 · 371 阅读 · 0 评论 -
单链表的归并排序
简单的归并排序原创 2016-10-30 15:31:35 · 332 阅读 · 0 评论 -
有头结点的单向链表
带头结点的链表原创 2016-10-29 20:58:33 · 364 阅读 · 0 评论 -
计算二叉树叶子节点的数目
二叉树采用链式储存结构,设计算法计算一颗给定的二叉树中叶子节点的数目使用递归创建并初始化二叉树。当输入的数据不为“#”时,将该元素视为一个有效的元素,否则置为null。每次递归返回当前位置的子树。计算二叉树的所有叶子节点的数量。当一个节点的左孩子和右孩子都为空时。他是叶子节点。使用递归如果能找到就返回1,如果节点为NULL返回0,否则返回count(t->lchild)+ count(t->rc原创 2016-12-05 18:16:49 · 35897 阅读 · 4 评论 -
分解质因数
复习一下大一的知识。。。 思路: 对于一个数n,判断2~n之间的所有数。如果n/i==0那么i就是n的一个质因数,并且把n重新赋值为n/i,然后再判断新的n是否能够整除i,循环往复,跳出的条件有两个:i不能被n整除,或者是n不断地除以i导致n和i的值相等。/** * 2. 编写程序读入一个整数,显示它的所有素数因子。例如,若输入整数为 120,输出应为 2、2、2、3、5 * @a原创 2016-12-06 22:18:44 · 794 阅读 · 0 评论