数据结构
很閒很快樂
这个作者很懒,什么都没留下…
展开
-
大白话——用Java实现快速排序
快速排序简介快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。快速排序的基本思想是:1.先从数列中取出一个数作为基准数,保存起来。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复执行以上操作,直到各区间只有一个数。 .原创 2020-12-10 23:10:49 · 126 阅读 · 1 评论 -
Java基础——对HashMap的put和resize方法进行理解
Java基础——对HashMap的put和resize方法进行理解前言一、Put方法put方法源码put方法总结:二、resize方法resize源码resize方法总结:前言我们可以看到,在面试所有大厂Java岗位的时候,都有对了解HashMap原理的要求,意识到透彻了解HashMap的底层原理迫在眉睫,所以决定再写一篇博文对HashMap进行记忆和分享。一、Put方法开篇我们直接上干货!put方法源码public V put(K key, V value) { return原创 2020-11-22 14:55:48 · 371 阅读 · 2 评论 -
你了解红黑树吗?数据结构——红黑树
文章目录红黑树:引言红黑树的介绍红黑树的五条性质红黑树的关键操作红黑树的旋转正常插入节点红黑树的变色红黑树的旋转1.右旋转2.左旋转红黑树:引言因为博主最近在学习HashMap的源码,因为自从jdk1.8之后,HashMap就是由数组+链表+红黑树实现的,所以为了更深的去了解HashMap的原理,先来带大家一起复习一下红黑树的知识红黑树的介绍红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。红黑树是在1972年原创 2020-09-07 23:53:20 · 322 阅读 · 0 评论 -
递归实现单链表的反转(Java实现)
要求很简单,输入一个链表,反转链表后,输出新链表的表头递归的大致过程,就是从链表最后一个结点开始,依次回溯到head头结点,实现翻转大致步骤如下首先第一步,创建一个结点类class Node{ public int id; public Node next; public Node(int id){ this.id=id; ...原创 2020-03-24 18:51:30 · 1685 阅读 · 0 评论 -
数据结构——通俗讲解关于任一二叉树n0=n2+1的证明
对于任一二叉树,若度为2的结点有n2个,则叶子结点数必为n2+1证明: 假设该二叉树总共有n个结点(n=n0+n1+n2),则该二叉树总共会有n-1条边,度为2的结点会延伸出两条边,同理,度为1的结点会延伸出一条边,则可列公式:n-1 = 2*n2 + 1*n1 ,合并两个式子可得:2*n2 + 1*n1 +1 =n0 + n1 + n2 ,则计算可知n0=n2+1。...原创 2019-06-05 01:33:05 · 13728 阅读 · 8 评论