
长路漫漫
文章平均质量分 52
你在此地别动
认真记录,多回顾多总结,加油
展开
-
HashMap实现,Hash冲突模拟(查找,增加,删除,自动扩容)思路
思路记录:1.HashMap主体是一个Entry数组,当多个key值经过hash计算得到的索引一致,则发生Hash冲突,该索引上的Entry对象就会成为链表的头结点,后续同索引的Entry将会插入该链表。2.当进行删除时,因考虑如果目标对象在链表中且还有子节点,就需要按照链表的删除法进行,防止后续对象丢失。假设father为目标对象的前一个结节。father.next = father.next.next3.扩容对于新旧两个数组以及索引需要理清,并且在put,get,remove的代码里分清值传递与引原创 2021-01-09 12:33:50 · 921 阅读 · 4 评论 -
从今天起开始学习算法---环形链表
体会:环形链表在只有一个头结点的时候也会成环,尾插需要注意将需要插入的结点的next设置为头结点以保证成环。1.链表不像环形队列一样有固定长度以及栈顶与栈底,所以没有取模这样容易绕混的操作。2.对于判空,抓住头结点独自成环的特点即可。3.尾插注意使最后的结点的next指向头结点。4.环形列表的优点在于指定从某个结点开始遍历都可以走完全链。代码实现记录:package com.cclx.controller;class Node{ public int data; pu原创 2020-09-29 23:37:28 · 276 阅读 · 0 评论 -
从今天起开始学习算法---环形队列
体会:环形队列相比普通队列多了一个复用性,类似左轮与自动手枪的弹夹之分,左轮的弹夹(环形队列)中第一发子弹的索引并不会实时小于最后一发子弹的索引(如果给六个孔刻上编号),而且当六号弹孔有弹而一共不满六颗子弹时我不可能让队列尾索引再加一来给七号弹孔塞子弹,所以关键在于取模。尾索引:rear 头索引:front 队列实际容量:maxSize-1注意:rear指向最后一个元素的下一位,需要一个空位置来作为预留,所以maxSize-1才是本队列真正能塞进的个数。 判空:尾索引与头索引没有间距判满:原创 2020-09-20 09:20:02 · 196 阅读 · 0 评论