随笔分类 - Java数据结构和算法
使用Java实现各类算法,欢迎大家交流,不定期更新,后期会分享关于leetcode的题
摘要:一.什么是图?有哪些特性及其使用场景? 由来: 当我们需要表示多对多的关系的时候,就需要使用到图这种数据结构 定义: 图是一种数据结构,其中顶点可以是具有零个或多个相邻元素.两个顶点之间的连线称为边,节点被称为顶点 常用概念: 无向图表示顶点之间的连接没有方向,既可以A->B,也可以B->A,有向图
阅读全文
摘要:一.Huffman树 定义: 给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径达到最小,这样的二叉树称为最优二叉树,也称为霍夫曼树(Huffman树). 特点: Huffman树是带权路径长度最短的树,权值较大的节点离根节点较近 权值 = 当前节点的值 * 层数,wpl最小的值,就是H
阅读全文
摘要:一.冒泡排序 基本思想:通过对待排序序列此前向后,依次比较相邻元素的值,若发现逆序则进行交换,使得较大的值从前面移动到后面, 类似于水下的气泡一样(是所有排序算法中效率最低的) public static void BobbleSort(int[] arr){ /*冒泡排序,时间复杂度为O(n^2)
阅读全文
摘要:链表是一个有序的列表,它分为单向链表,双向链表,单向环形链表 一.单向链表 链表在内存中的存储如下: 它有如下特性: 1.链表是以节点的方式,是链式存储 2.每个节点都包含data域,next域来指向下一个节点 3.每个链表在内存中的分布不一定是连续的 4.链表分为有头结点的链表和没有头结点的链表,
阅读全文
摘要:一.数据结构的分型 数据结构包括线性结构和非线性结构 线性结构: 1.线性结构是最常见的数据结构,其特点是数据元素之间一对一的线性关系 2.线性结构有两种不同的存储结构(数组)和链式存储结构(链表),顺序存储的线性表称为顺序表,顺序表中存储的元素是连续的 3.链式存储的表称为链表,链表中的存储元素不
阅读全文
浙公网安备 33010602011771号