上一页 1 2 3 4 5 6 ··· 12 下一页
摘要: 堆排序 1.堆的基本介绍 1)堆排序是利用堆的这种数据结构设计的排序算法,堆排序是一种选择排序,最好最坏时间复杂度为O(nlogn),它是不稳定的排序。 2)堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子结点的值,称为大顶堆,注意:没要求左右孩子之间的关系。 3)每个结点的值都小于 阅读全文
posted @ 2021-05-08 16:02 撑起一片阳光 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 顺序存储二叉树 1.基本说明 从数据存储来看,数据存储方式和数的存储方式可以相互转换。 2.特点 1)顺序二叉树通常只考虑完全二叉树; 2)第n个元素的左子节点为2 * n + 1; 3)第n个元素的右子节点为2 * n + 2; 4)第n个元素的父节点为(n-1)/2; n为下标,从0开始。 pa 阅读全文
posted @ 2021-05-07 17:54 撑起一片阳光 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 二叉树 1.概念 1)每个结点最多只能有两个子节点的一种形式称为二叉树 2)二叉树的子节点分为左节点和右节点。 3)如果该二叉树的所有叶子节点都在最后一层,并且结点总数=2^n - 1,n为层数,则成为满二叉树。 4)如果该二叉树的所有叶子节点都在最后一层或者倒数第二层,而且最后一层叶子节点在左边连 阅读全文
posted @ 2021-05-07 14:42 撑起一片阳光 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 哈希表 1.基本介绍 散列表(Hash Table,也叫哈希表),是根据关键码值(Key Value)而直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度,这个映射函数叫做散列函数,存放记录的数组叫做散列表。 2.例题 有一个公司,当有新员工来时,要求将 阅读全文
posted @ 2021-05-06 16:45 撑起一片阳光 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 1.二分查找 二分查找必须对有序数组进行,每次先找到中间值进行比较,若大于当前值则向后继续按此方法找,若小于当前值则向前继续按此方法找。 二分查找的思路: 1.首先确定数组中间值: mid = (left + right) / 2; 2.然后比较中间值mid和要查找的值num大小; 2.1若num> 阅读全文
posted @ 2021-04-29 16:11 撑起一片阳光 阅读(78) 评论(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 撑起一片阳光 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 递归 1.概念: 递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得更加简洁; 2.递归调用机制的解析: 例: public class RecursionTest { public static void main(String[] args) 阅读全文
posted @ 2021-04-18 17:36 撑起一片阳光 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 栈的应用 1.使用栈计算一个表达式的结果,如:7x2x5-3-6+5+9 (中缀表达式) 思路:创建两个栈,一个存储数据,一个存储用算符; ① 定义一个index索引,遍历表达式 ② 如果为数字进入数据栈; ③ 若为符号,判断如果当前符号栈为null则直接压入,若不为null,则比较优先级大小,如果 阅读全文
posted @ 2021-04-17 09:45 撑起一片阳光 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 栈的应用 1.使用栈计算一个表达式的结果,如:7x2x5-3-6+5+9 (中缀表达式) 思路:创建两个栈,一个存储数据,一个存储用算符; ① 定义一个index索引,遍历表达式 ② 如果为数字进入数据栈; ③ 若为符号,判断如果当前符号栈为null则直接压入,若不为null,则比较优先级大小,如果 阅读全文
posted @ 2021-04-15 15:45 撑起一片阳光 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 栈 1.定义: ​ 栈(stack)是一种先进后出(FILO)的数据结构,只能从一端进行插入和删除的特殊线性表; ​ 压栈:数据进入栈; ​ 弹栈:数据出栈; 2 .实现栈的思路分析 1)使用数组模拟栈; 2)使用top模拟栈顶,初始化为-1; 3)入栈时,top++; stack[top] = d 阅读全文
posted @ 2021-04-14 15:38 撑起一片阳光 阅读(124) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 12 下一页