数据结构与基础算法
文章平均质量分 57
笨手笨脚°
这个作者很懒,什么都没留下…
展开
-
PriorityQueue实现最小堆和最大堆的用法[JAVA]
一、基本介绍1、介绍PriorityQueue翻译为优先队列,“优先”指元素在队列中按一定的顺序(优先级)进行存放,“队列”指一种先进先出的数据结构。因此PriorityQueue可以实现按照一定的优先级存取元素。2、用法从源码来看PriorityQueue的构造方法://默认容量为 11private static final int DEFAULT_INITIAL_CAPACITY = 11;//1、无参构造,默认容量和默认排序方法public PriorityQueue() {原创 2021-06-27 10:25:23 · 1143 阅读 · 2 评论 -
常用排序算法代码实现(java)
归并排序: public static void mergeSort(int nums[]){ mergeSort(nums,0,nums.length - 1); } private static void mergeSort(int[] nums, int left, int right) { //排序 if(left >= right) return; int mid = left + (right -.原创 2021-06-16 23:57:09 · 216 阅读 · 0 评论 -
【数据结构复习】二叉树常用方法
本篇文章主要是用代码记录二叉树的一些常用方法,如建立BST、前中后序遍历二叉树等,持续补充,方便自己之后复习。package dataStruct.tree;import java.util.Random;class BinaryTree{ //节点类 class TreeNode{ //成员变量:一个树节点you数据域和两个儿子指针组成 int val; TreeNode left; TreeNode right; .原创 2021-04-28 18:48:39 · 164 阅读 · 0 评论 -
【数据结构复习】散列表(Hash table)
所有图片来自数据结构与算法基础(青岛大学-王卓)的PPT,顺便安利一波,老师的课讲的很好,墙裂推荐!散列表一、概念1、散列表的定义散列表,是根据关键码值而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。散列函数:H(key) = Addr .例:如上,给定散列函数H(key) = key,若给定key = 9,则由散列函数算出地址为 9,也就是9应该存在散列表的9号位置。2、散列表的相关原创 2021-02-06 17:25:03 · 358 阅读 · 0 评论 -
【数据结构复习】链表
所有图片来自数据结构与算法基础(青岛大学-王卓)的PPT,顺便安利一波,老师的课讲的很好,墙裂推荐!链表单链表定义:基础操作初始化判断链表是否为空空链表:链表中无元素。(头指针和头结点仍在)判断链表是否为空算法思想:判断头结点的指针域是否为空销毁单链表销毁:指释放链表的所有空间,包括头指针和头结点算法思想:从头指针开始,依次释放所有结点清空单链表清空:指删除链表中的所有元素,使链表成为空链表。(保留头指针和头结点)算法思想:依次释放所有的节点,并将头结点的指针域设置为空。原创 2021-01-28 14:53:30 · 4320 阅读 · 2 评论