C++中序线索二叉链表的建立及遍历
题目 中序线索二叉链表的建立及遍历(数据结构严蔚敏C语言版的C++实现)
输入:字符串序列
输出:结点的相关信息,中序序列
处理方法:
|
|
一、问题分析
线性链表中指向结点前驱和后继的指针,叫做线索,在线索二叉树上进行遍历,只要先找到序列的第一个结点,然后依次找结点的后继直到结点的后继为空时为止。
输入:字符串序列
输出:结点的相关信息,中序序列
处理方法:
|
|
线性链表中指向结点前驱和后继的指针,叫做线索,在线索二叉树上进行遍历,只要先找到序列的第一个结点,然后依次找结点的后继直到结点的后继为空时为止。
输入:字符串序列
输出:叶子结点的个数,二叉树的深度
处理方法:
|
|
统计叶子结点的个数需要先序遍历二叉树,增加计数器和判断语句统计叶子节点数。
统计二叉树的深度需要后序遍历二叉树,求得左右两子树深度,判断最大值并加一输出。
输入:字符串序列
输出:先(中、后)序序列
处理方法:通过补虚结点,使二叉树中各实际结点均具有左右孩子,再对该二叉树按先序遍历进行输入。以字符串的形式:根、左子树、右子树定义一棵二叉树:
公元 1225 年,比萨的数学家 Leonardo(即 Fibonacci(斐波那契)),1170-1250)研究了方程
x^3+2*x^2+10*x-20=0
得到一个根 x* = 1.368 808 107,没有人知道他用什么方法得到这个值。对于这个方程,分别用下列方法: (1)迭代法式1 ; (2)迭代法式2 ; (3)对(1)的 Aitken 加速方法; (4)对(2)的 Aitken 加速方法; (5)Newton 法 。 求方程的根(可取 x0 = 1 ),计算到 Leonardo 所得到的准确度。
spiritLHL
帮同一个选修课的学妹码的结课作业,这是我个人完善后的版本(她的还有很多错漏)
分析文档:完成度:代码质量 3:5:2
其中分析文档是指你数据分析的过程中,对各问题分析的思路、对结果的解释、说明(要求言简意赅,不要为写而写)
用迭代法求非线性方程(x+1)^2-sinx-3=0
的根。
取迭代函数0.5*(3+sin((x))-1-(x)*(x))
,精度要求为1*10^-2
,最多迭代 100 次。
取步长 h = 0.1 ,分别用 Euler 方法、改进 Euler 方法和经典四阶 Runge-Kutta 方法求解初值问题
|
|
并将计算结果与sqrt(1+2*(x))
精确解相比较。
|
|
将区间[0,1]
四等分,分别用复化梯形公式和复化 Simpson 公式计算定积分
|
|
的近似值。
|
|
天安门广场升旗的时间是日出的时刻,而降旗的时间是日落时分。根据天安门广场管理委员会的公告,某年 10 月份升降旗的时间如下:
|
|
请根据上述数据构造 Newton 插值多项式,并计算当年 10 月 8 日北京市的日照时长。
参考matlab程序:https://www.ilovematlab.cn/thread-450391-1-1.html
个人编写的c++版本如下