Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

java数据结构与算法 PDF 下载


分享到:
时间:2022-01-20 10:17来源:http://www.java1234.com 作者:转载  侵权举报
java数据结构与算法 PDF 下载
失效链接处理
java数据结构与算法  PDF 下载


本站整理下载:
提取码:6ils 
 
 
相关截图:
 
主要内容:


1 数据结构与算法介绍
数据结构是一门研究组织数据方式的学科,数据结构可以编写效率更高的代码
程序=数据结构+算法
2 稀疏数组
1) 二维数组转稀疏数组
1 遍历二维数组,得到有效数据的个数 sum
2 根据 sum 就可以创建稀疏数组 spareArr int[sum+1][3]
3 将二维数组的有效数据存入到稀疏数组
2) 稀疏数组转二维数组
1 先读稀疏数组第一行,根据第一行的数据,创建原始的二维数组
2 再读取稀疏数组后几行数据,并赋给原始的二维数组即可
3) 实现代码:
public class SparseArray {
public static void main(String[] args) {
int[][] arr=new int[11][11];
arr[1][2]=1;
arr[2][3]=2;
int sum=0;
System.out.println("————————————————原始数组————————————————");
show(arr);
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
if(arr[i][j]!=0){sum++;}
}
}
int[][] sparseArr=new int[sum+1][3];
sparseArr[0][0]=arr.length;
sparseArr[0][1]=arr[0].length;
sparseArr[0][2]=sum;
int count=1;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
if(arr[i][j]!=0){
sparseArr[count][0]=i;
sparseArr[count][1]=j;
sparseArr[count][2]=arr[i][j];
count++;
}
}
}
System.out.println("————————————————稀疏数组————————————————");
show(sparseArr);
int[][] oldArr=new int[sparseArr[0][0]][sparseArr[0][1]];
for(int i=1;i<sparseArr.length;i++){
oldArr[sparseArr[i][0]][sparseArr[i][1]]=sparseArr[i][2];
}
System.out.println("————————————————还原后————————————————");
show(oldArr);
}
public static void show(int[][] arr){
for (int[] row:arr) {
for(int col:row){
System.out.print(col+"\t");
}
System.out.println();
}
}
}
运行结果:
————————————————原始数组————————————————
0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
————————————————稀疏数组————————————————
11 11 2
1 2 1
2 3 2
————————————————还原后————————————————
0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
3 环形队列(数组)
1) 实现思路:
 front 指向队列的第一个元素,arr[front]表示队列的第一个元素,front 的初始值为 0
 rear指向队列的最后一个元素的后一位置,希望空出一个空间作为约定,rear 的初始值为 0
 当队列满时:(rear+1)%maxSize==front
 当队列为空时:rear==front
 队列中有效的数据个数为:(rear+maxSize-front)%maxSize
2) 代码实现:

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐