当前位置: 首页 > news >正文

【纪念我的365天】我的创作纪念日

机缘

最开始接触csdn时我从没想过我会是博客的创作者,最初我认为它是一个为我解决问题的作业神器,开始接触编程时什么都不懂,为各种问题查阅资料,可偏偏就是无法越过这道坎。于是机遇巧合之下遇到一个人他教我,也是他大力推荐我开始写作的。从此以后这里就成为了我编程的笔记,每当我忘记一个知识点时我都可以通过搜索关键字来查找,它似乎比我的纸质笔记更加有效。并且在这里我也可以学习很多知识,所以渐渐的写博客成为我学习的一部分。


收获

在csdn中我也收获很多,每次花大量时间和精力换来粉丝的关注和阅读量我都很高兴,这一年来我有七百多粉丝,也获得了很多的鼓励,也认识了一些大佬。我也常常看他人的博客,再与自己的文章对比查缺不足的地方加以改正。前段时间参加蓝桥杯,学起来很吃力,各种查阅资料看不懂无数次想要放弃可是不服气,于是咬着牙继续学。可是各种算法于我来说就是难上加难,于是我开始学习算法,递归、动态规划等算法,可是学习还是很有难度于是我放弃了。继续我的正常学习,又刚好蓝桥杯延迟了我又心动了于是开始各种刷题,既然算法难那我就那基础分,这样我一直坚持到比赛那一天。csdn里有各种题目的多种解决方法,我似乎才发现csdn的好处。

每次写文章我都能加深对这块知识的理解,怎样用简单的语言让读者更好的理解它。比如之前写mysql增删改查,这个只是点我通过图片代码文字三种方式共同描述等等。从刚开始到现在我已经学习了C语言,数据结构,Java,计算机组成原理等,往后我会一直学习。坚持一件事好难好难,我也常常想要放弃,可是我想要放弃的同时有好多博主仍然继续创作,好像我又有了创作的动力。这一年中我写了六十多篇文章,感觉好少好少,往后继续创作希望收获更多的粉丝以及知识点。


成就

这个连地址法是目前写过最好的代码,当初设置头插和尾插两种插入方法,包含静态节点、构造方法、插入、得到。

public class HashBuck {static class Node {public int key;public int value;public Node next;public Node(int key, int value) {this.key = key;this.value = value;}}public Node[] arr;public int size;public HashBuck(){arr = new Node[10];}public void put(int key, int value){//头插法
//        int index = key %arr.length;
//        Node cur = arr[index];
//        //判断链表中是否存在相同的key,存在就更新value
//        while (cur != null) {
//            if (cur.key == key) {
//                cur.value = value;
//                return;
//            }
//            cur = cur.next;
//        }
//        //如果不存在就 头插法 插入
//        Node node = new Node(key, value);
//        node.next = arr[index];
//        arr[index] = node;
//        size++;//尾插法int index = key %arr.length;Node cur = arr[index];//判断链表中是否存在相同的key,存在就更新valuewhile (cur != null) {if (cur.key == key) {cur.value = value;return;}cur = cur.next;}//如果不存在就 尾插法 插入Node cur1 = arr[index];if (cur1 == null){Node node = new Node (key, value);arr[index] = node;size++;}else {while (cur1.next != null) {cur1 = cur1.next;}//尾插法Node node = new Node(key, value);cur1.next = node;size++;}if (loadFactor() >= 0.75){//超载了需要扩容,然而扩容时需要把所有的元素都重新哈希(因为数组的容量变了对应取模的标准也变了)resize();}}private void resize(){Node[] tempArr = new Node[arr.length*2];for (int i = 0; i < arr.length; i++) {//头插
//            Node cur = arr[i];
//            while (cur != null){
//                //记录当前结点的下一个结点位置
//                Node curNext =cur.next;
//                //结点新的位置
//                int newIndex = cur.key%tempArr.length;
//                //头插法
//                cur.next = tempArr[newIndex];
//                tempArr[newIndex] = cur;
//                cur = curNext;
//          }//尾插法Node cur = arr[i];while (cur != null) {Node curNext = cur.next;int newIndex = cur.key % tempArr.length;Node newCur = tempArr[newIndex];if (newCur == null) {tempArr[newIndex] = cur;} else {while (newCur.next != null) {newCur = newCur.next;}newCur.next = cur;}cur.next = null;cur = curNext;}}arr = tempArr;}private double loadFactor(){return size*1.0/arr.length;}public int get(int key){int index = key %arr.length;Node cur = arr[index];//判断链表中是否存在相同的key,并返回该节点的value值while (cur != null) {if (cur.key == key) {return cur.value;}cur = cur.next;}return -1;}
}

憧憬

往后我会继续创作,梳理思路记录知识,将创作学习坚持到底,将我学习的点点滴滴都记录下来。每一次新的发现,都像是收获一份意外的惊喜;每一次深入的思考,都如同在黑暗中点亮一盏明灯。这份快乐,让我对学习始终充满热情,永不停歇地向前追寻。

相关文章:

  • 【Java ee初阶】多线程(6)
  • Redis常用命令表格汇总(超精炼)
  • Kotlin带接收者的Lambda介绍和应用(封装DialogFragment)
  • 测试因strcpy执行拷贝引起的内存溢出
  • Unity:AddTorque()(增加旋转力矩)
  • zst-2001 历年真题 程序设计语言
  • ecat总线6000段定义
  • [USACO1.1] 坏掉的项链 Broken Necklace Java
  • DockerDesktop替换方案
  • Spring Boot 集成 Solr 的详细步骤及示例
  • 36.金属壳体材料的选择与工艺处理对EMC的影响
  • C++ STL 容器详解:vector、string 和 map 的完全指南
  • kotlin中枚举带参数和不带参数的区别
  • C# 方法(局部函数和参数)
  • DDR在PCB布局布线时的注意事项及设计要点
  • SpringMVC框架详解与实践指南
  • 字符串,数组,指针之间的关系
  • 【NLP】 26. 语言模型原理与概率建模方法详解(Language Models)
  • FreeRTOS学习系列·二值信号量
  • TCP 与 UDP报文
  • 上海畅通“外转内”,外贸优品成“香饽饽”
  • 2025五一档电影票房破6亿
  • 遭反特朗普情绪拖累?澳大利亚联盟党大选落败、党魁痛失议席
  • 全国铁路旅客发送量连续3天同比增幅超10%,今日预计发送1800万人次
  • 人民日报头版头条:青春为中国式现代化挺膺担当
  • 菏泽家长“付费查成绩”风波调查:免费功能被误读