牛客图书馆 > 读书笔记
  • 数据结构与算法--基础概念

    数据结构与算法-- 基础概念 如果说以家里鞋柜的角度来讲数据结构,那么一双鞋就是数据元素,鞋柜就是数据结构。 逻辑结构与存储结构 (1)逻辑结构包括集合,线性结构,树形结构,图状结构,它是用来描述数据元素之间的关系(一对一,一对多,多对多...
    Yzhenfeng 编辑于 2021-12-10 14:07:48
  • AVL树(平衡二叉树)的旋转(基于二叉排序树)

    先分析排序二叉树存在的问题:若给出一个数列{1,2,3,4,5,6},创建一颗二叉排序树(BST),存在以下问题:1、左子树全部为空,从形式来看,更像一个单链表2、插入速度不受影响3、查询速度明显降低(因为需要一次比较),不能发挥BST的优势,因为每次还需要比...
    去种田的程序员 编辑于 2020-06-15 15:52:04
  • 哈夫曼树

    定义 给定n个权值作为n个叶子结点,构造一颗二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树位最优二叉树,也称哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离跟较近路径和路径长度:在一棵树中,从一个结点往下可...
    去种田的程序员 编辑于 2020-06-11 11:12:21
  • 排序【数据结构及算法】

    排序算法 介绍 排序是将一组程序,依指定的顺序进行排列的过程。 分类 ![图片说明](https://uploadfiles.nowcoder.com/images/20200603/319217495_1591191208624_072774B6B658B3...
    去种田的程序员 编辑于 2020-06-07 15:39:11
  • 顺序二叉树

    基本概念从数据存储来看,数据存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组。 特点1、顺序二叉树通常只考虑完全二叉树2、第n个元素的左子结点为2n+13、第n个元素的右子结点为2n+24、第n个元素的父节点为(n-1)/25、n:...
    去种田的程序员 编辑于 2020-06-08 20:57:39
  • 二叉排序树

    二叉排序树:BST(Binary Sort(Search) Tree),对于二叉排序树的任何一个非叶子结点,要求左子结点的值比当前结点的值小,右子结点的值比当前结点的值大。特别说明:如果有相同的值,可以将该结点放在左子结点或右子结点。 例如L:针对前面的数据(...
    去种田的程序员 编辑于 2020-06-14 12:40:49
  • 哈希表

    基本介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。![图片说明](ht...
    去种田的程序员 编辑于 2020-06-07 13:26:12
  • 递归之迷宫回溯问题【数据结构及算法】

    递归的概念:递归就是方法自己调用自己,每次调用时传入不同的变量。 递归调用机制:借用打印问题讲述 迷宫问题:从左上到右下找可通行路径。 代码实现: public class MiG...
    去种田的程序员 编辑于 2020-06-02 20:44:48
  • 线性表、树与图的特点线性表局限于一个直接前驱和一个直接后继的关系树只能有一个直接前驱也就是父结点当我们需要表示多对对的关系时,我们就需要引入图的概念。 图的相关概念1、顶点(vertex)2、边(edge)3、路径4、无向图与有向图5、带权图 图的表示方式一...
    去种田的程序员 编辑于 2020-06-18 19:45:50
  • 题解 | #反转链表#

    /** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * * @param pHead ListNode类 * @return List...
    清烽 编辑于 2021-09-21 15:18:46