1.你知道HashMap底层的数据结构是什么样的吗? 底层最核心的数据结构是数组,我们构造一个map,往里面放入数据,比如我们放入key为张三,value为测试数据,对张三计算出一个hash值,根据这个hash值对数组进行取模,就会定位到数组里的一个元素中去 2.jdk1.8中对hash算法和寻址算 ...
分类:
其他好文 时间:
2020-05-31 22:10:53
阅读次数:
101
本章学习中我认识了树。树是一种重要的非线性数据结构,直观地看,它是数据元素按分支关系组织起来的结构,很象自然界中的树那样。树有普通树和二叉树之分,在计算机科学中,二叉树是每个结点最多有两个子树的有序树,二叉树的每个结点至多只有二棵子树,二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 ...
分类:
其他好文 时间:
2020-05-31 21:55:35
阅读次数:
68
一.栈和队列 1.抽象数据类型 (Abstract Data Type 简称ADT) 是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。对一个抽象数 ...
分类:
编程语言 时间:
2020-05-31 21:40:10
阅读次数:
84
一.动态数组的有序线性表 1.头文件: 2.c档 3.主程序 4.运行结果 二.线性表的链结表表示法 1.线性表可以使用固定数组和变动数组来实现;另外,线性表也可使用链结表来表示。 链结表 (linked list) 就是用「链」连接在一起的多个节点。 节点 (node):包含两个部分数据 (dat ...
分类:
编程语言 时间:
2020-05-31 21:37:01
阅读次数:
75
第五章我们主要学习了树和二叉树的定义、性质、存储结构以及部分操作还有哈夫曼树。 下图是我对本章所学知识的大致总结: 在这章的代码题中,我也学到了很多,其中List leaves这题就有很多小细节: 1. bool check[n] = {false};//定义bool类型的数组来查找未出现过的结点 ...
分类:
其他好文 时间:
2020-05-31 21:36:18
阅读次数:
68
1、前言 HashMap是面试中经常问到的一个知识点,也是判断一个候选人基础是否扎实的标准之一,因为通过HashMap可以引出很多知识点,比如数据结构(数组、链表、红黑树)、equals和hashcode方法,除此之外还可以引出线程安全的问题,HashMap是我在初学阶段学到的设计的最为巧妙的集合, ...
分类:
其他好文 时间:
2020-05-31 19:58:12
阅读次数:
59
数据结构,双指针法介绍 + 练习,习题都来自leetcode ,golang实现 ...
分类:
其他好文 时间:
2020-05-31 19:57:32
阅读次数:
54
本章学习内容: 本章我们学习了一种新的数据结构,“树”结构是一类非线性数据结构。主要学习到二叉树的内容,二叉树有好几个重要的性质。刚开始学这种数据结构的时候,还是觉得比线性结构抽象很多。在后来上课和打代码的时候理解到,二叉树存储结构跟遍历有很大的关系,遍历的结果是将非线性结构的树中结点排成一个线性序 ...
分类:
其他好文 时间:
2020-05-31 19:55:21
阅读次数:
65
第1章 绪论1.2基本概念和术语 1.2.1数据、数据元素、数据项和数据对象 数据是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位。数据元素通常用于完整地描述一个对象。例如一名学生记录。 数据项是组成数据元素的、有独立含义的、不可分割的最小单位。 ...
分类:
编程语言 时间:
2020-05-31 19:51:44
阅读次数:
91