随笔分类 - 数据结构与算法
摘要:1:判断是否有环: 两根指针同时遍历,一根每次走一步,另一根走两步。若两根指针相遇,则链表有环。 2:判断环入口: 在未到入口时:快指针走一次超越慢指针一步,进入环后:快指针追赶慢指针一步。 快指针比慢指针多走一或多圈,所以慢指针正好走一个环或多个的长度。 因此,分别从碰撞点、头指针开始走,相遇的那
阅读全文
摘要:两个链表,从某个节点开始相交,找到相交节点 三种方法: 1.将其中一个链表的头尾相连,问题转化为求环入口节点 2.用两个栈分别记录两个链表的节点,再弹出,找到最后一个相等的节点 3.将长的链表移动长度差的距离,然后同时移动两个链表,找到第一个相等的节点
阅读全文
摘要:结点定义typedef struct NODE{ int nValue; struct NODE* pLeft; struct NODE* pRight;}BinaryTree;基本创建方法: 一个结点一个结点的创建,连接。...
阅读全文
摘要:二叉树:每个结点最多有两个子树的树结构。 左子树及右子树:结点的两个子结点被称为左子树和右子树。性质:度为0的结点总比度为2的结点多一;二叉树第i层上的结点数目最多为 2{i-1} (i≥1)。包含n个结点的二叉树的高度至少为log2 (n+1)。满二叉树...
阅读全文
摘要:树简介 树:一种非线性的数据结构,由n(n>=0)个结点组成的有限集合。 空树:当n = 0时,树为空。 根结点:根结点没有直接前驱,只有直接后继。 子结点:结点的后继被称为子结点。 父亲结点:若一个节点含有子节点,则这个节点称为其子节点的...
阅读全文
摘要:#include#includetypedef struct Node{ int a; struct Node* pNext;}Node;Node* top = NULL;Node* end = NULL;void addNode(int a){...
阅读全文

浙公网安备 33010602011771号