
数据结构和算法
文章平均质量分 82
数据结构和算法
会骑行的茄子
这个作者很懒,什么都没留下…
展开
-
常用数据结构(Java实现)
当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。记录数组一-共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模稀疏数组的大小:(m+1)*3。m代表的是原来的二维数组中的非0的数。/*** 稀疏数组的转换*///1. 创建原始的二维数组//2. 输出原始的二维数组System.out.println("原始的二维数组");//3. 遍历二维数组,得到非0的个数i++) {j++) {原创 2024-12-03 22:44:08 · 672 阅读 · 0 评论 -
递归(Java实现)
递归就是方法自己调用自己递归能解决的问题。原创 2024-12-06 20:47:47 · 173 阅读 · 0 评论 -
时间复杂度和排序算法
插入排序( Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。思想:第一次从arr[0]-arr[n-1]中遍历,选出最小值,与arr[0]交换,接着从arr[1]-arr[n-1]中遍历,选出最小值,与arr[1]交换…n),也就是了O(nlog。原创 2024-12-06 20:53:37 · 1758 阅读 · 0 评论 -
查找算法和哈希表(散列)
线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。原创 2024-12-06 20:55:44 · 429 阅读 · 0 评论 -
树和图算法
给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),还有的书翻译为霍夫曼树。:BST:(Binary Sort(Search) Tree),对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。:树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL(weighted path length),权值越大的结点离根结点越近的二叉树才是最优二叉树。原创 2024-12-06 21:03:03 · 615 阅读 · 0 评论