没有合适的资源?快使用搜索试试~ 我知道了~
数据结构Java版习题解答.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 111 浏览量
2022-07-14
08:11:28
上传
评论
收藏 220KB DOC 举报
温馨提示
试读
38页
数据结构Java版习题解答.doc
资源推荐
资源详情
资源评论
I / 38
第 0 章 Java 程序设计基础 1
[习 0.1] 实验 0.1 哥德巴赫猜想。1
[习 0.2] 实验 0.2 辉三角形。1
[习 0.3] 实验 0.3 金额的中文大写形式。1
[习 0.4] 实验 0.4 下标和相等的数字方阵。1
[习 0.5] 实验 0.5 找出一个二维数组的鞍点 2
[习 0.6] 实验 0.6 复数类。2
[习 0.7] 实验 0.8 图形接口与实现图形接口的类 2
第 1 章绪论 3
[习 1.1] 实验 1.1 判断数组元素是否已按升序排序。3
[习 1.2] 实验 1.3 用递归算法求两个整数的最大公因数。3
第 2 章线性表 5
[习 2.1] 习 2-5 图 2.19 的数据结构声明。5
[习 2.2] 习 2-6 如果在遍历单链表时,将 p=p.next 语句写成 p.next=p,结果会怎样?5
[习 2.3] 实验 2.2 由指定数组中的多个对象构造单链表。5
[习 2.4] 实验 2.2 单链表的查找、包含、删除操作详见 8.2.1。5
[习 2.5] 实验 2.2 单链表的替换操作。6
[习 2.6] 实验 2.2 首尾相接地连接两条单链表。6
[习 2.7] 实验 2.2 复制单链表。6
[习 2.8] 实验 2.2 单链表构造、复制、比较等操作的递归方法。7
[习 2.9] 建立按升序排序的单链表(不带头结点)。8
[习 2.10] 实验 2.6 带头结点的循环双链表类,实现线性表接口。10
[习 2.11] 实验 2.5 建立按升序排序的循环双链表。14
第 3 章栈和队列 17
[习 3.1] 习 3-5 栈和队列有何异同?17
[习 3.2] 能否将栈声明为继承线性表,入栈方法是 add(0,e),出栈方法是 remove(0)?为什么?
17
[习 3.3] 能否用一个线性表作为栈的成员变量,入栈方法是 add(0,e),出栈方法是
remove(0)?为什么?17
[习 3.4] 能否将队列声明为继承线性表,入队方法是 add(e),出队方法是 remove(0)?为什么?
17
第 4 章串 18
[习 4.1] 实验 4.6 找出两个字符串中所有共同的字符。18
[习 4.2] 习 4-9(1) 已知目标串为"abbaba"、模式串为"aba",画出其 KMP 算法的匹配过程,
并给出比较次数。18
II / 38
[习 4.3] 习 4-9(2) 已知 target="ababaab"、pattern="aab",求模式串的 next 数组,画出
其 KMP 算法的匹配过程,并给出比较次数。18
第 5 章数组和广义表 20
[习 5.1] 求一个矩阵的转置矩阵。20
第 6 章树和二叉树 21
[习 6.1] 画出 3 个结点的各种形态的树和二叉树。21
[习 6.2] 找出分别满足下面条件的所有二叉树。21
[习 6.3] 输出叶子结点。21
[习 6.4] 求一棵二叉树的叶子结点个数。22
[习 6.5] 判断两棵二叉树是否相等。22
[习 6.6] 复制一棵二叉树。23
[习 6.7] 二叉树的替换操作。23
[习 6.8] 后根次序遍历中序线索二叉树。24
第 7 章图 25
第 8 章查找 26
[习 8.1] 实验 8.1 顺序表的查找、删除、替换、比较操作。26
[习 8.2] 实验 8.2 单链表的全部替换操作。28
[习 8.3] 实验 8.2 单链表的全部删除操作。28
[习 8.4] 折半查找的递归算法。29
[习 8.5] 二叉排序树查找的递归算法。29
[习 8.6] 二叉排序树插入结点的非递归算法。30
[习 8.7] 判断一棵二叉树是否为二叉排序树。31
第 9 章排序 32
[习 9.1] 判断一个数据序列是否为最小堆序列。32
[习 9.2] 归并两条排序的单链表。32
[习 9.3] 说明二叉排序树与堆的差别。34
图 0.1 下标和相等的数字方阵算法描述 1
图 2.1 p.next=p 将改变结点间的关系 5
图 4.1 目标串"abbaba"和模式串"aba"的 KMP 算法模式匹配过程 18
图 4.2 目标串"ababaab"和模式串"aab"的 KMP 算法模式匹配过程 19
图 6.1 3 个结点树和二叉树的形态 21
图 6.2 单支二叉树 21
图 9.2 归并两条排序的单链表 33
1 / 38
第
0
章
Java 程序设计基础
【习
0.1
】
实验 0.1 哥德巴赫猜想。
【习
0.2
】
实验 0.2 辉三角形。
【习
0.3
】
实验 0.3 金额的中文大写形式。
【习
0.4
】
实验 0.4 下标和相等的数字方阵。
输出以下方阵(当 n=4 时)。
1 2 6 7 或 1 3 4 10
3 5 8 13 2 5 9 11
4 9 12 14 6 8 12 15
10 11 15 16 7 13 14 16
采用二维数组实现。二维数组中,每一条斜线上各元素下标和相等,如图 0.1 所示。
图0.1
下标和相等的数字方阵算法描述
程序如下。
public class Upmat
{
public static void main(String args[])
{
int n=4; //阶数
int[][] mat = new int[n][n];
int k=1; //k 是自然数,递增变化
boolean up = true; //方向向上
for (int sum=0; sum<n; sum++) //左上三角,sum 表示行列的下标和
{
if (up)
j
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
0 1 2 3
0
1
2
3
i =
右下三角
下标和为n~2*n-2
左上三角
下标和为0~n-1
下标和为4
下标和为5
下标和为6
2 / 38
for (int i=sum;i>=0;i--)
mat[i][sum-i] = k++; //k 先赋值后自加
else
for (int i=0;i<=sum;i++)
mat[i][sum-i] = k++;
up=!up; //方向求反
}
for (int sum=n; sum<2*n-1; sum++) //右下三角
{
if (up)
for (int j=sum-n+1;j<n;j++)
mat[sum-j][j] = k++;
else
for (int j=n-1;j>sum-n;j--)
mat[sum-j][j] = k++;
up=!up;
}
for (int i=0; i<mat.length; i++) //输出二维数组元素
{
for (int j=0; j<mat[i].length; j++) //i、j 是行、列下标
System.out.print(" "+mat[i][j]);
System.out.println();
}
}
}
【习
0.5
】
实验 0.5 找出一个二维数组的鞍点
【习
0.6
】
实验 0.6 复数类。
【习
0.7
】
实验 0.8 图形接口与实现图形接口的类
剩余37页未读,继续阅读
资源评论
- 2301_774735872024-04-14总算找到了自己想要的资源,对自己的启发很大,感谢分享~
智慧安全方案
- 粉丝: 3655
- 资源: 59万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功