Java-数据结构与算法-逢3减1-面向对象
1.要求:有一群人围成一圈数数,逢3退1人,要求算出最后留下来的人的下标2.用面向对象思想,有三个步骤:(1)有哪些类:找名词--"有一群人围成一圈",所以有类People,PeopleCircle(2)有哪些属性方法(3)类的关系3.代码: package Test; public class C...
java数据结构与算法刷题-----LeetCode684. 冗余连接
class Solution { public int[] findRedundantConnection(int[][] edges) { int n = edges.length;//顶点个数 int[] parent = new int[n + 1];//并查...
java数据结构与算法刷题-----LeetCode538. 把二叉搜索树转换为累加树
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * ...
java数据结构与算法刷题-----LeetCode766. 托普利茨矩阵
class Solution { public boolean isToeplitzMatrix(int[][] matrix) { int m = matrix.length, n = matrix[0].length;//获取行和列 //从第二行第二列开始,判断...
【算法与数据结构】Java实现查找与排序-第一部分:查找算法
二分查找 也叫做折半查找,属于有序查找算法。 前提条件:数组数据必须有序,从小到大,或者从大到小都是可以的。 如果是无序的,也可以先进行排序。 但是排序之后,会改变原有数据的顺序,查找出来元素位置跟原来的元素可能是不一样的,所以排序之后再查找只能判断当前数据是否在容器当中,返回的索引无实...
《Java数据结构与算法》笔记-CH2有序数组
/** * 上个例子是无序数组,并且没有考虑重复元素的情况。 * 下面来设计一个有序数组,我们设定不允许重复,这样提高查找的速度,但是降低了插入操作的速度。 * 1.线性查找 * 2.二分查找 * 有序数组优点:查找比无序数组快 * 缺点:插入操作由于所有靠后的数据都需要移动来腾开空间,所以插入比...
Java数据结构与算法解析(十二)——散列表
散列表概述散列表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。散列表的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,...
Java数据结构与算法(21) - ch09红黑树(RB树)
红-黑规则1. 每一个节点不是红色的就是黑色的2. 根总是黑色的3. 如果节点是红色的,则它的子节点必须是黑色的;如果节点是黑色的,其子节点不是必须为红色。4. 从根到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点修正违规的情况1. 改变节点的颜色2. 执行旋转操作
【Java数据结构学习笔记之三】Java数据结构与算法之队列(Queue)实现
本篇是数据结构与算法的第三篇,本篇我们将来了解一下知识点: 队列的抽象数据类型 顺序队列的设计与实现 链式队列的设计与实现 队列应用的简单举例 优先队列的设置与实现双链表实现 队列的抽象数据类型 队列同样是一种特殊的线性表,其插入和删除的操作分别在表的两端...
【Java数据结构学习笔记之二】Java数据结构与算法之队列(Queue)实现
本篇是数据结构与算法的第三篇,本篇我们将来了解一下知识点: 队列的抽象数据类型 顺序队列的设计与实现 链式队列的设计与实现 队列应用的简单举例 优先队列的设置与实现双链表实现 队列的抽象数据类型 队列同样是一种特殊的线性表,其插入和删除的操作分别...
<二>java数据结构与算法 冒泡排序
冒泡排序的核心思想: 比较2个元素,如果前一个比后一个大,则进行交换,经过对每个元素的比较,最后将最大的元素设置成最后一个元素。重复操作,最后形成从小到大排序。 <span style="font-size:18px;">public class BubbleSort {public...
数据结构与算法分析(JAVA版)Chapter2练习题
/** * 文件名:Test8.java * 时间:2014年11月1日上午9:07:12 * 作者:修维康 */package chapter2;import java.util.Arrays;import java.util.Random;/** * 类名:Test8 说明:生成前N个整数的一个...
数据结构与算法分析Java版练习1.3
package ch01;/** * 练习1.3 只使用处理I/O的printDigit方法,编写一种方法以输出任意 * double型量(可以是负数)。 */public class EX03 {private static void printDigit(int i) {Syst...
数据结构与算法分析Java版第1章练习1.1
package ch01;import java.util.Arrays;import java.util.Random;/** * 练习1.1 编写一个程序解决选择问题。令k = N/2。画出表格显示程序对于N种不同的值的运行时间。 * @author yingli.zhang * */publi...
数据结构与算法分析java——树1
1. 基本术语 度(degree):一个节点的子树个数称为该节点的度; 树中结点度的最大值称为该树的度。 层数(level):从根结点开始算,根节点为1 高度(height)/深度(depth):节点的最大层数 2. 二叉树性质 满二叉树: 完...
数据结构与算法分析(JAVA版)Chapter1练习题
/** * 类名:Test1.java * 说明:返回N的二进制的1个个数 */public class Test5 {public static int getOne(int n){if(n < 2)return 1;return n%2 + getOne(n/2);}/** * 函数名称:...
数据结构与算法分析Java版练习1.15
package ch01;import java.util.Comparator;/** * 练习1.15 定义一个Rectangle类,该类提供getLength和getWidth方法。利用图1-18中的findMax例程编写 * 一种main方法,该方法创建一个Rectangle数组并首先找出依...
数据结构与算法分析Java版练习1.3
package ch01;/** * 练习1.3 只使用处理I/O的printDigit方法,编写一种方法以输出任意 * double型量(可以是负数)。 */public class EX03 {private static void printDigit(int i) {Syst...
Java数据结构与算法之LinkedList单链表
目录:1.链表概述2.链表分类即结构3.单链表3.1 自定义单链表需要实现的功能(方法)3.2 单链表实现代码1.链表概述:链表具有逻辑连续,物理存储不连续且大小不固定的特点,它是基于指针实现的。其中单链表和单向循环链表中的每一个节点包含了一个数据域和一个指针域,数据域保存节点的数据,指针域保存节点...
数据结构与算法分析java——栈和队列
1. 栈 1.1 分类 顺序栈:顺序线性表实现 链式栈:单向链表存储堆栈 1.2栈的应用 1)数制转换 import java.util.Scanner; import java.util.Stack; public class Tran{ public static vo...