04 2023 档案

摘要:二叉树Binary Tree 1. 树的一些常用术语 2. 二叉树的概念 树有很多种,每个节点最多只能有两个子节点的一种形式称为二叉树; 二叉树的子节点分为左子节点和右子节点; 以下三种均为二叉树: 若该二叉树的所有叶子节点都在最后一层,且节点总数n == 2k - 1,k为层数,则称为满二叉 阅读全文
posted @ 2023-04-28 19:23 GaoakaJie 阅读(38) 评论(0) 推荐(0) 编辑
摘要:哈希表 1. 哈希表基本介绍 散列表(Hash Table,也叫哈希表),是根据关键码值(Key Value)而直接进行访问的数据结构。也即是说,它通过把关键码值映射到表中的一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 哈希表的内存布局(数组+链表) 2 阅读全文
posted @ 2023-04-26 10:35 GaoakaJie 阅读(57) 评论(0) 推荐(0) 编辑
摘要:查找算法 1. 线性查找 线性查找(Order Search)是最简单的一种查找算法,直接从头到尾遍历,直至找到要查找的值为止。 1.1 代码实现 package com.algorithm; /** * @author SnkrGao * @create 2023-04-20 19:52 */ p 阅读全文
posted @ 2023-04-21 21:29 GaoakaJie 阅读(68) 评论(0) 推荐(0) 编辑
摘要:基数排序Radix Sort 1. Radix Sort介绍 Radix Sort属于“分配式排序”(Distribution Sort),又称“桶子法”(Bucket Sort),其是通过比较待排序序列的所有元素的各个位的值,将元素分配至“桶”中,以达到排序的目的。Radix Sort是一种效率较 阅读全文
posted @ 2023-04-18 17:35 GaoakaJie 阅读(274) 评论(0) 推荐(0) 编辑
摘要:归并排序Merge Sort 1. Merge Sort介绍 Merge Sort是利用归并的思想实现的排序算法,该算法采用经典的分治策略(divide-and-conquer),是一种稳定的排序算法。分治法是将问题分(divide)为一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶 阅读全文
posted @ 2023-04-16 13:09 GaoakaJie 阅读(99) 评论(0) 推荐(0) 编辑
摘要:排序算法-插入排序 1. 直接插入排序Insert Sort 1.1 Insert Sort介绍 Insert Sort也是一种简单的内部排序算法,其是对待排序的元素以插入的方式寻找该元素的适当位置,以达到排序的目的,是一种稳定的排序算法。 Inser Sort的基本思想是:将待排序序列看作一个有序 阅读全文
posted @ 2023-04-15 15:22 GaoakaJie 阅读(749) 评论(0) 推荐(0) 编辑
摘要:排序算法-选择排序 1. 简单选择排序Select Sort 1.1 Select Sort介绍 简单选择排序(select Sort)的基本思想是:每一轮排序都从待排序的序列(无序区)中选取一个最小值,并将其与无序区的第一个元素进行交换,此时有序区长度 + 1,无序区长度 - 1。重复上述过程直至 阅读全文
posted @ 2023-04-14 15:57 GaoakaJie 阅读(1627) 评论(0) 推荐(0) 编辑
摘要:排序算法-交换排序 1. 冒泡排序Bubble Sort 1.1 Bubble Sort介绍 冒泡排序(Bubble Sort)的基本思想是:通过对待排序的序列进行从左往右(即从下标较小的元素开始),依次比较相邻元素的值,若逆序则将其顺序交换。重复执行此过程直至没有需要交换的元素,也即说明改序列完成 阅读全文
posted @ 2023-04-13 13:42 GaoakaJie 阅读(136) 评论(0) 推荐(0) 编辑
摘要:排序算法 1. 排序的分类 内部排序 指将需要处理的所有数据都加载到内部存储器中进行排序。 外部排序法 数据量过大时,无法全部加载到内存中,需要借助外部存储进行排序。 2. 算法的时间复杂度 2.1 概述 一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)来表示。若有某 阅读全文
posted @ 2023-04-09 16:14 GaoakaJie 阅读(40) 评论(0) 推荐(0) 编辑
摘要:八皇后问题 1. 八皇后问题介绍 八皇后问题是一个经典的回溯算法思想求解的问题,该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出的:在8×8的国际象棋棋盘上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,求共有多少种摆法。 2. 回溯算法求解八皇后问题的思路 阅读全文
posted @ 2023-04-08 22:42 GaoakaJie 阅读(249) 评论(0) 推荐(0) 编辑
摘要:递归算法 1. 何为递归 简而言之,就是方法自己调用自己,在每一次调用时传入不同的变量。递归有助于编程者在解决复杂问题的同时,让代码变得更加简洁。 2. 递归的应用场景 各种数学问题,eg.8皇后问题、汉诺塔、阶乘问题、迷宫问题、球和篮子的问题等; 各种算法中也经常用到递归的思想,eg.快排、归并排 阅读全文
posted @ 2023-04-08 17:06 GaoakaJie 阅读(117) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示