• 2024-10-16哈希表
    在计算机世界中,哈希表如同一位聪慧的图书管理员。他知道如何计算索书号,从而可以快速找到目标图书。@目录1.哈希表的概念1.1哈希表的基本操作1.2哈希表的常用操作2.基于数实现哈希表2.1哈希表的结构体定义2.2哈希表的初始化2.3删除哈希表2.4哈希函数2.5查找哈希表中的元素2.6删除
  • 2024-10-10今日总结
    今天了解了桶排序算法时间复杂度:平均时间复杂度:O(n+k),其中n是数据的数量,k是桶的数量。最坏时间复杂度:O(n^2),当所有数据都分配到同一个桶中时。空间复杂度:O(n+k),需要额外的空间来存储桶和数据。2.算法步骤初始化桶:根据数据的范围创建一定数量的桶。分配数
  • 2024-08-28LeetCode - 1 两数之和
    题目来源1.两数之和-力扣(LeetCode)题目描述给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案
  • 2024-08-27算法与数据结构——哈希表
    哈希表哈希表(hashtable),又称散列表,它通过建立键key与值value之间的映射,实现高效的元素查询。具体而言,我们向哈希表中输入一个键key,则可以在O(1)时间内获取对应的值value。除哈希表外,数组和链表也可以实现查询功能,他们的效率对比如下表:添加元素:仅需将元素添加至数组(链表)的尾部
  • 2024-08-21桶排序算法及优化(java)
    目录1.1引言1.2桶排序的历史1.3桶排序的基本原理1.3.1工作流程1.3.2关键步骤1.4桶排序的Java实现1.4.1简单实现1.4.2优化实现1.4.3代码解释1.5桶排序的时间复杂度1.5.1分析1.5.2证明1.6桶排序的稳定性1.7著名案例1.7.1应用场景1.7.2具体案例1
  • 2024-06-03Amazon Q Developer 实战:从新代码生成到遗留代码优化(下)
    简述本文是使用AmazonQDeveloper探索如何在VisualStudioCode集成编程环境(IDE),从新代码生成到遗留代码优化的续集。在上一篇博客《AmazonQDeveloper实战:从新代码生成到遗留代码优化(上)》中,我们演示了如何使用AmazonQDeveloper编写新代码和优化遗留代码。正如我们在上
  • 2024-05-20Amazon Q Developer 实战:从新代码生成到遗留代码优化(上)
    本文将探索如何在VisualStudioCode这个开发者常用的一种集成编程环境(IDE)中,使用AmazonQDeveloper列出指定区域的AmazonS3存储桶的示例代码实现。我们将从在AmazonQDeveloperAgent的协助下,从生成新代码开始,到将生成的新代码与现有的低效“遗留”旧代码进行性能对比;
  • 2024-04-28一道神奇的面试题---无序数组排序后的最大相邻差
    一:概述这个算法的面试题目是:有一个无序整型数组,如何求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。  二:具体说明<1>第一种解法(初步解法)这个解法的大致思路:使用任意一种时间复杂度为O(nlogn)的排序算法(如快速
  • 2024-03-22MIT 6.S081入门lab8 锁
    #MIT6.S081入门lab8锁一、参考资料阅读与总结1.xv6book书籍阅读(Chapter7:Scheduling:7.5toend)5.sleep与wakeupxv6使用了sleep-wake的机制,实现了进程交互的抽象(序列协调/条件同步机制)这一机制的核心是防止丢失唤醒(生产者还未睡眠时,资源更新并唤醒):如果贸然在睡眠中加
  • 2024-02-02哈希表
    哈希表实现#include<stdio.h>#include<stdlib.h>#include<string.h>#defineHASHTABLE_CAPACITY20//===File:array_hash_map.c===/*键值对int->string*/typedefstruct{ intkey; char*val;}Pair;typedefstruct{ void*set; intlen;
  • 2024-01-30哈希表
    哈希表实现#include<stdio.h>#include<stdlib.h>#include<string.h>#defineHASHTABLE_CAPACITY20//===File:array_hash_map.c===/*键值对int->string*/typedefstruct{ intkey; char*val;}Pair;typedefstruct{ void*set; intlen;
  • 2024-01-26C#数组对象池ArrayPool<T>底层
    深度解析C#数组对象池ArrayPool<T>底层原理 提到池化技术,很多同学可能都不会感到陌生,因为无论是在我们的项目中,还是在学习的过程的过程,都会接触到池化技术。池化技术旨在提高资源的重复使用和系统性能,在.NET中包含以下几种常用的池化技术。(1)、连接池(Connecti
  • 2024-01-26深度解析C#数组对象池ArrayPool<T>底层原理
    提到池化技术,很多同学可能都不会感到陌生,因为无论是在我们的项目中,还是在学习的过程的过程,都会接触到池化技术。池化技术旨在提高资源的重复使用和系统性能,在.NET中包含以下几种常用的池化技术。(1)、连接池(ConnectionPool):用于管理数据库连接的池化技术。连接池允
  • 2024-01-13Go 语言为什么不支持并发读写 map?
    大家好,我是frank,「Golang语言开发栈」公众号作者。01介绍在Go语言项目开发中,我们经常会使用哈希表map,它的时间复杂度是O(1),Go语言中的map使用开放寻址法避免哈希碰撞。Go语言中的map并非原子操作,不支持并发读写操作。Go官方认为map在大多数情况下是使用map
  • 2024-01-07Go 语言为什么不支持并发读写 map?
    大家好,我是frank,「Golang语言开发栈」公众号作者。01介绍在Go语言项目开发中,我们经常会使用哈希表map,它的时间复杂度是O(1),Go语言中的map使用开放寻址法避免哈希碰撞。Go语言中的map并非原子操作,不支持并发读写操作。Go官方认为map在大多数情况下是使用map进行并
  • 2023-12-14哈希表
    简单哈希表classPair{ constructor(key,value){ this.key=key this.value=value }}classHash{ constructor(){ this.buckets=newArray(100).fill(null) } hashFunction(key){ returnkey%100 } set(key,value){ constindex=this.has
  • 2023-12-07桶排序
    前K个高频元素给你一个整数数组nums和一个整数k,请你返回其中出现频率前k高的元素。你可以按任意顺序返回答案。 示例1:输入:nums=[1,1,1,2,2,3],k=2输出:[1,2]示例2:输入:nums=[1],k=1输出:[1] 提示:1<=nums.length<=105k的取值范围是[1,
  • 2023-11-28go数据类型-map
    go的map在面试时候经常会被问到。最近看到群里有个被问到为什么map的每个桶中只装8个元素?map的结构注:解决hash冲突还有一些别的方案:开放地址法(往目标地址后面放)、再哈希法(再次hash)底层定义//AheaderforaGomap.typehmapstruct{//个数sizeofmap,当使
  • 2023-11-10go源码解析-map
    map简介golang的map主要是基于hash-bucket实现demoMap:=make(int,len)typehmapstruct{ //Note:theformatofthehmapisalsoencodedincmd/compile/internal/reflectdata/reflect.go. //Makesurethisstaysinsyncwiththecompiler'sdefinition. count
  • 2023-10-18C#桶排序算法
    前言桶排序是一种线性时间复杂度的排序算法,它将待排序的数据分到有限数量的桶中,每个桶再进行单独排序,最后将所有桶中的数据按顺序依次取出,即可得到排序结果。实现原理首先根据待排序数据,确定需要的桶的数量。遍历待排序数据,将每个数据放入对应的桶中。对每个非空的桶进行排
  • 2023-07-15go map
    map内存模型//AheaderforaGomap.typehmapstruct{//元素个数,调用len(map)时,直接返回此值countintflagsuint8//buckets的对数log_2Buint8//overflow的bucket近似数noverflowuint16//计算key的
  • 2023-06-28nf_conntrack_buckets
    conntrack_max推荐默认值CONNTRACK_MAX=RAMSIZE(inbytes)/16384/(ARCH/32)4是hash表里的链表最大长度,推荐4或者8HASHSIZE=CONNTRACK_MAX/432位系统虚拟内存1G,能用的有896M64位系统256T,能用一半ARCH:为CPU架构,32或64。32位256M内存:CONN
  • 2023-06-24Google Cloud |Web开发
    为啥选择使用Durable耐用性availablescalable-distributedstorage可拓展性inexpensive为什么不把音视频直接放进DB中----可以用GCS放DB比放入filesystem的速度慢太大了无法做数据库优化操作,比如说添加index GCSBucketBucketsarethebasiccontainers
  • 2023-06-24Google Cloud 的存储
    为啥选择使用Durable耐用性availablescalable-distributedstorage可拓展性inexpensive为什么不把音视频直接放进DB中----可以用GCS放DB比放入filesystem的速度慢太大了无法做数据库优化操作,比如说添加index GCSBucketBucketsarethebasiccontainers
  • 2023-06-09妙用Python集合求解啤酒问题(携程2016笔试题)
    问题描述:一位酒商共有5桶葡萄酒和1桶啤酒,6个桶的容量分别为30升、32升、36升、38升、40升和62升,并且只卖整桶酒,不零卖。第一位顾客买走了2整桶葡萄酒,第二位顾客买走的葡萄酒是第一位顾客的2倍。那么,本来有多少升啤酒呢?解析:由于该酒商只卖整桶酒,简单分析几个桶的容量可知,第二位顾客