请注意,我爱我家并不支持低于IE8的浏览器,为了获得最佳效果,请下载最新的浏览器,推荐下载 Chrome浏览器

求二叉树的镜像

6-02 2,001 views

思路: 采用递归的思想。对于根节点,若其左子树或右子树不为空,则互换左、右子树,然后对于左、右子树,分别递归上述处理方法,直至叶节点。 示例: 代码...
阅读全文 0

多叉树的宽度优先搜索BFS

6-01 2,075 views

首先,选择一个合适的数据结构存储多叉树,我使用了“左孩子右兄弟”的方法,使用二叉树来存储多叉树,便于实现和遍历。 其次,宽度优先搜索时: 1.用队列(先...
阅读全文 0

链表反转的递归和非递归

6-01 1,997 views

如题,给出链表反转的递归和非递归算法: C Node *reverse (Node *head) { Node *p1=NULL,*p2=NULL,*p3=NULL; if(...
阅读全文 0

最大公因子-辗转相除法

6-01 1,969 views

求两个数的最大公因子,使用“辗转相除法”。 原理如下:若r=a%b,则gcd(a,b)=gcd(b,r)。 简单推导: 因为r=a%b,所以a=bq+r,r=a-bq。 a=bq+r,能被b,r整除的...
阅读全文 0

求二叉树中两节点的最小公共父节点

6-01 2,043 views

求解思路: 采用递归,深度优先遍历,找到一个节点时,返回,逐层记录遍历方向,另一个节点 同,这样深度优先遍历后,可以找到这两个节点由根节点访问的路径...
阅读全文 0

Huffman编码

6-01 2,010 views

编码字符:”w”,”o”,”r”,”l”,”d”,权重值4,2,1,5,7。 C #inclu...
阅读全文 0

树的宽度优先遍历

5-31 1,958 views

C #include using namespace std;</pre> struct Node { int id; int childNum; Node* childList[...
阅读全文 0

快速排序和堆排序

5-31 2,032 views

快速排序: C #include <iostream> using namespace std; int n[5] = {4,3,1,5,2}; void quickSort(int s, int ...
阅读全文 0

二叉树先序遍历非递归算法

5-31 2,115 views

C #include <stdio.h> #include <stdlib.h> struct TNode { int number; TNode* lchild; ...
阅读全文 0

单链表之:如何快速找到倒数第n个节点

1-05 40,272 views

题目:如何查找单链表的倒数第n个指针。 算法一:第一次遍历到链表末尾,找到链表长度N;第二遍遍历,找到第N-n个节点。 算法二:设立两个指针,p1指向头节点...
阅读全文 0