- 博客(18)
- 收藏
- 关注
原创 搜索二叉树的操作与实现(c Java)
如果它的左子树不空,则左子树上所有的值均小于它的根节点的值若它的右子树不空,则右子树上所有的值均大于它的根节点的值它的左、右树又分为二叉排序树。
2026-02-03 02:31:52
283
原创 06_线索二叉树实现(c java)
现有一个结点数目为n的二叉树,采用二叉链表的形式存储,对于每个结点均有指向左右孩子的两个指针域。结点为n的二叉树一共有 n + 1 个空指针域。:先对二叉树中序化,中序线索化,建立虚线以后,再进行前驱后继的处理,就直接按照线索化的路径进行遍历。中序遍历:1. 一直往左走,直到找到左线索点。2. 当前这个点是否有右线索,一直往右。3. 当发现某个点的右边不是线索化点,把这个右边的点当作新结点,重复1.。
2026-01-21 18:07:42
240
原创 二叉树遍历(c Java)
引入一个栈,每激活一个结点,它的左右任务按照先序顺序保存到记忆栈,先右后左放入记忆栈。出栈,出一个,激活一个新的任务,又重复,先右后左放入栈,当栈内没有元素时,整个遍历就结束。用队列实现,层次遍历,激活一个节点,就可能产生2个新任务,引入缓存区查看任务, 不断从缓存区中获取任务。释放二叉树,可以采用递归,先访问左孩子,再访问右孩子,再释放结点。递归, 先访问左孩子,再访问结点数据,再访问右孩子。递归,先访问节点数据,在访问左孩子,在访问右孩子。递归, 先访问左孩子,再访问右孩子, 再访问数据。
2026-01-18 15:15:20
344
原创 链表的操作与实现(Java C)
对于顺序表而言,内存利用率很高,按位置查找效率高。但插入删除需要搬移大量元素,时间效率低。并且堆区必须出现连续的空间,空间不满足。因此可以考虑链表链表的定义:单向链表只能往一个方向访问,一旦访问了下一个节点,那么再也不能回到之前的状态了需要申明节点和表头,每个节点的next域指向下一个节点,而表头则存储头节点和节点的总个数等,在头节点(head)中的无任何意义,则是指向第一个节点 。 C实现: Java 实现:1.2 创建链表Java中直接new即可c需要通过函数来创建一个表头,如果创建成功就对这个
2026-01-10 03:11:02
644
原创 链表的操作与实现(Java C)
对于顺序表而言,内存利用率很高,按位置查找效率高。但插入删除需要搬移大量元素,时间效率低。并且堆区必须出现连续的空间,空间不满足。因此可以考虑链表链表的定义:单向链表只能往一个方向访问,一旦访问了下一个节点,那么再也不能回到之前的状态了需要申明节点和表头,每个节点的next域指向下一个节点,而表头则存储头节点和节点的总个数等,在头节点(head)中的无任何意义,则是指向第一个节点 。 C实现: Java 实现:1.2 创建链表Java中直接new即可c需要通过函数来创建一个表头,如果创建成功就对这个
2026-01-10 03:08:12
862
原创 单向链表的实现
对于顺序表而言,内存利用率很高,按位置查找效率高。但插入删除需要搬移大量元素,时间效率低。并且堆区必须出现连续的空间,空间不满足。因此可以考虑链表链表的定义:单向链表只能往一个方向访问,一旦访问了下一个节点,那么再也不能回到之前的状态了需要申明节点和表头,每个节点的next域指向下一个节点,而表头则存储头节点和节点的总个数等,在头节点(head)中的无任何意义,则是指向第一个节点 。 C实现: Java 实现:创建链表Java中直接new即可c需要通过函数来创建一个表头,如果创建成功就对这个链表进行
2026-01-08 19:07:44
310
原创 字符串(听课笔记)
String 位于Java.lang包中,无需导包String类由fianl修饰,表示不能被修改,不能被继承String类构建的对象不可在被修改。
2025-12-13 23:47:54
498
原创 异常(听课笔记)
再Java中,异常的类型非常多,要想使用这些异常,首先必须熟悉它们。这无疑是一个巨大的工作,很耗费时间。如果我们可以自定义异常,则只需要熟悉ExceptionThrowable即可。这大大缩小了范围,自定义异常还可以帮助我们快速定位问题。public class 类名 extends RuntimeException {}public class 类名 extends Exception {}示例:在登录时经常会看到:用户名提示不存在或者账号密码错误。请用自定义异常来描述。
2025-12-12 22:36:01
899
原创 多态和Object类笔记
继承、接口就是多态的具体体现方式方法重载在编译时就已经确定如何调用,因此方法重载属于编译时多态。示例:3. 运行时多态运行时多态:Java虚拟机为每个变量中引用的对象调用适当的方法。它不会调用由变量类型定义的方法。这种行为成为虚拟方法的调用。示例:案例:王者中英雄都有名字,都会攻击,分为物理攻击和法术攻击应用场景:动物园中有老虎,熊猫,猴子等动物,每种动物吃的东西不一样,老虎吃肉,熊猫吃竹叶,猴子吃水果,动物管理员会给它们喂食物分析:老虎,熊猫,猴子都是动物,它们的动作都是吃,动物管理
2025-12-11 20:39:24
603
原创 接口(听课笔记)
接口用关键字interface来定义publicinterface接口名 {}接口不能实例化接口和类之间是实现关系,通过implements关键字表示public class 类名implements接口名 {}接口的子类(实现类)要么重写接口中所有的抽象方法要么是是抽象类注意1:接口和类的实现关系,可以但实现,也可以多实现public class 类名implements接口名1, 接口名2 {}注意2:实现类还可以在继承一个类的同时实现多个接口。
2025-12-08 20:42:55
950
原创 final
final 修饰方法: 表明该方法是最终方法,不能被重写final 修饰类: 表明改类是最终类,不能被继承final 修饰变量: 叫做常量,只能被赋值一次因为是常量,不能被再次赋值。
2025-12-07 13:50:56
196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅