
数据结构
osDetach
只有孜孜不倦地求索,才有源源不断的收获
展开
-
二叉搜索树学习
二叉搜索树:对于二叉搜索树,若左孩子不为空,父亲节点的值大于左孩子的值;若右孩子不为空,则右孩子的值大于父亲节点的值。 就像下面这个图一样: 二叉搜索树的创建和插入 本篇文章主要总结二叉搜索树的创建和插入,删除的话,感觉没啥用,就不想写了。 创建 创建的话,和二叉树的创建区别就那么一丢丢,只不过得加个判断,根据性质,左孩子值要比父亲节点小,右孩子值要比父亲节点大,所以加个判断。 判断根节点是...原创 2019-03-25 15:59:06 · 211 阅读 · 0 评论 -
优先队列学习总结
普通的队列,之遵循先进先出的规则,进行元素的添加和查询,但是对于很多情况下,我们想要在序列中找符合我们要求的元素(比如序列中最大的元素),这时候,无论是普通的线性表还是线性表种比较特殊的栈或者队列,找到该指定元素的范围都会卡在事件复杂度为O(n)的级别,其实我们完全可以实现查找时间复杂度降为O(1),就是通过优先队列来实现! 我们需要做的就是,给元素赋予一种优先级(比如说:要是我们在使用中总想拿...原创 2019-03-22 17:10:50 · 327 阅读 · 0 评论 -
二叉树的子结构
* 树的子结构 * * 题目: * 输入两棵二叉树 A 和 B,判断 B 是不是 A 的子结构。 * 二叉树的定义如下: * * 问题: * 1. 树中的指针操作 * 2. 边界条件的检查 先在A中找出所有与B的根节点相同的节点,然后遍历B树和这些节点,判断只要找到一个子树完全相同,就输出结果即可! #include <iostre...原创 2019-08-18 17:03:48 · 212 阅读 · 0 评论 -
逆置链表
/* * 题目: * 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 * 链表结点定义如下 * * 问题: * 1. 单向链表的遍历 * * 思路: * 1. 取出第一个结点和第二个结点,将第一个结点的后继结点设置为 null * 2. 取出链表中两个相邻的结点 A、B * tmp =...原创 2019-08-18 15:20:02 · 654 阅读 · 0 评论