04 2021 档案

摘要:1.二分查找 二分查找必须对有序数组进行,每次先找到中间值进行比较,若大于当前值则向后继续按此方法找,若小于当前值则向前继续按此方法找。 二分查找的思路: 1.首先确定数组中间值: mid = (left + right) / 2; 2.然后比较中间值mid和要查找的值num大小; 2.1若num> 阅读全文
posted @ 2021-04-29 16:11 撑起一片阳光 阅读(86) 评论(0) 推荐(0) 编辑
摘要:递归应用 1.使用递归解决迷宫问题 public class RecursionTest { public static void main(String[] args) { // 使用一个二位数组模拟迷宫 int[][] map = new int[8][7]; // 使用1表示障碍,不能走 fo 阅读全文
posted @ 2021-04-18 18:36 撑起一片阳光 阅读(133) 评论(0) 推荐(0) 编辑
摘要:递归 1.概念: 递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得更加简洁; 2.递归调用机制的解析: 例: public class RecursionTest { public static void main(String[] args) 阅读全文
posted @ 2021-04-18 17:36 撑起一片阳光 阅读(84) 评论(0) 推荐(0) 编辑
摘要:栈的应用 1.使用栈计算一个表达式的结果,如:7x2x5-3-6+5+9 (中缀表达式) 思路:创建两个栈,一个存储数据,一个存储用算符; ① 定义一个index索引,遍历表达式 ② 如果为数字进入数据栈; ③ 若为符号,判断如果当前符号栈为null则直接压入,若不为null,则比较优先级大小,如果 阅读全文
posted @ 2021-04-17 09:45 撑起一片阳光 阅读(320) 评论(0) 推荐(0) 编辑
摘要:栈的应用 1.使用栈计算一个表达式的结果,如:7x2x5-3-6+5+9 (中缀表达式) 思路:创建两个栈,一个存储数据,一个存储用算符; ① 定义一个index索引,遍历表达式 ② 如果为数字进入数据栈; ③ 若为符号,判断如果当前符号栈为null则直接压入,若不为null,则比较优先级大小,如果 阅读全文
posted @ 2021-04-15 15:45 撑起一片阳光 阅读(462) 评论(0) 推荐(0) 编辑
摘要:栈 1.定义: ​ 栈(stack)是一种先进后出(FILO)的数据结构,只能从一端进行插入和删除的特殊线性表; ​ 压栈:数据进入栈; ​ 弹栈:数据出栈; 2 .实现栈的思路分析 1)使用数组模拟栈; 2)使用top模拟栈顶,初始化为-1; 3)入栈时,top++; stack[top] = d 阅读全文
posted @ 2021-04-14 15:38 撑起一片阳光 阅读(134) 评论(0) 推荐(0) 编辑
摘要:约瑟夫问题 设编号1,2........n的那个人围坐一圈,约定编号k(1<=k<=n)的人从开始报数,数到m的那个出列,从它的下一位又开始从1开始报数,数到m的那个人又出列,以此类推,直到剩下一个人; 解决方法: 使用一个不带头节点的循环链表来处理,先构成一个有n个结点的循环链表,然后从k结点起1 阅读全文
posted @ 2021-04-13 17:04 撑起一片阳光 阅读(62) 评论(0) 推荐(0) 编辑
摘要:双向链表 双向链表的增、删、改、遍历思路 1.增加: 在双向链表的末尾增加; 只需找到最后一个结点temp; temp.next = newNode; newNode.pre = temp; 2.指定的位置插入 假设插入到index位置, 有两种情况:①当temp.next.no > index是则 阅读全文
posted @ 2021-04-10 09:29 撑起一片阳光 阅读(88) 评论(0) 推荐(0) 编辑
摘要:链表的面试题 获取链表中的有效元素个数 获取链表中倒数第k个元素 反转链表 反向遍历链表 合并两个有序链表 package com.sratct.linkListArray; import javax.lang.model.element.VariableElement; import java.u 阅读全文
posted @ 2021-04-08 20:39 撑起一片阳光 阅读(179) 评论(0) 推荐(0) 编辑
摘要:稀疏数组 1.概念 当一个数组大部分元素为0,或者为同一值的数组时,可以使用稀疏数组表示; 稀疏数组处理方法: 1)记录数据有几行几列,有多少个不同的值; 2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模; 2.稀疏数组的举例 3.原始数据转化为稀疏数组 方法: 1)稀疏 阅读全文
posted @ 2021-04-05 16:23 撑起一片阳光 阅读(74) 评论(0) 推荐(0) 编辑