首页 > 系统相关 >0906, 0909 shell编程与基础算法(leetCode )

0906, 0909 shell编程与基础算法(leetCode )

时间:2024-09-09 10:25:16浏览次数:18  
标签:shell di 查找 地址 0906 哈希 0909 leetCode d0

0 9 0 6

哈希表的基本知识:

哈希表(Hash Table)又称散列表,是除顺序存储结构、链式存储结构和索引表存储结构之外的又一种存储结构。

哈希碰撞:解决办法

开放定址法:是一类以发生冲突的哈希地址为自变量,通过某种哈希冲突函数得到一个新的空闲的哈希地址的方法。

(1)线性探测法

从发生冲突的地址(设为d)开始,依次探测d 的下一个地址(当到达下标为m-1的哈希表表尾时,下一个探测的地址是表首地址0),直到找到一个空闲单元为止。

       d0=H(key)

       di=( di -1+1) % m(1≤i≤m-1) 
(2)二次探测法
       d0=H(key)
       di=(d0±i2) % m(1≤i≤m-1)
       其中,d0是发生冲突的地址,m是哈希表的长度。

leetCode 242

哈希思想

ca43a304a3f746a9b9842a16b4cd00ae.png

字典方式

ac00a7cb4b2c4245af51722991c72c0f.png

 

leetCode 350

9d12dbb2776f482a9cda5462c643759d.png

 

leetCode 349

4965ecfe427f472ea068ada8fa05e965.png

0 9 0 9

使用哈希表的场景:

(1)统计频率:

哈希表常用于统计元素的出现频率。 例如:给定一个字符串,统计每个字符出现的次数。

使用哈希表可以高效地处理这个任务,时间复杂度为 O(n)。

(2)快速查找:

如果你需要频繁查找数据(如在数组中查找某个元素),使用哈希表可以避免线性扫描,显著提高查找效率。 例如:给定一个数组,判断其中某个元素是否存在。遍历数组的时间复杂度是 O(n),而哈希表可以将这个查找过程优化为 O(1)。

leetCode 202

7fefb65870104093abbd55981f2d40cf.png

leetCode 1

ed62e749141d4c439279e5933ccb5ca6.png 

leetCode 454

b62856a11bc74986a2ed2e4f07f0114b.png 

 

 

 

标签:shell,di,查找,地址,0906,哈希,0909,leetCode,d0
From: https://blog.csdn.net/2401_86248249/article/details/142051988

相关文章

  • BeanShell预处理器获取jmeter请求后变量无法替换
    背景jmeter接口验签逻辑是从请求参数中获取值处理加密验签后,讲请求参数中的sign值替换如果处理后直接讲sign生成Jmeter变量,在当前请求是无法替换的,因为jmeter请求的URL和body已经运行,不会再重新运行替换解决方法在当前预处理程序中再写处理当前请求的逻辑//替换URL中的sig......
  • Shell编程:文本处理器(sed)
    文章目录sed编辑器工作过程提高sed执行效率的方法sed命令格式与选项地址定界sed的核心功能打印功能(p,=,l命令)删除操作(d命令)替换操作(s,c,y命令)增加功能(a,i,r命令)使用-f指定命令文件(读取规则)sed编辑器sed是一种流编辑器(StreamEdit......
  • 20240909_041725 c语言 代码注释 两种
    两种注释注释示例......
  • 20240909_031725 c语言 执行输出语句的流程
    源代码-》编译后代码-》可执行代码下图为可执行代码的示例路径:......
  • 20240909_011725 c语言 预处理
    在C语言中,第一行#include<stdio.h>是一个预处理指令,用于包含(或说,导入)标准输入输出库(StandardInputOutputLibrary)的头文件。这个库提供了进行输入输出操作的函数,比如printf()用于在屏幕上显示输出,scanf()用于从键盘读取输入等。具体来说:#include是一个预处理指令,告诉编译器......
  • 20240909_021725 c语言 骨架结构
    关注骨架结构明确intmainreturn0的意义与功能......
  • shell脚本部署lamp
    [root@node1~]#yum-yinstalllrzsz//先将包文件拖进来[root@node1~]#cd/opt/[root@node1opt]#lsapr-1.7.0.tar.gzapr-util-1.6.1.tar.gzhttpd-2.4.54.tar.gzmysql-5.7.37-linux-glibc2.12-x86_64.tar.gzphp-8.2.5.tar.gz[root@node1~]#cd/[roo......
  • SAPIEN PowerShell HelpWriter crack
    SAPIENPowerShellHelpWritercrackKeyFeaturesofSAPIENPowerShellHelpWriter:SwiftPerformancewithCachedDataandMulti-threadedCodeVersatileExplorationofLocalandRemoteMachinesAdvancedSearchOptionsandPowerfulFilters......
  • 【工具推荐】0x7eTeamTools v1.2(最新版) -全能的渗透测试工具,一键getshell
    工具介绍:0x7eTeamTools是一个集成了多种渗透测试功能,javafx练习,JS接口提取,漏洞检测的工具,旨在帮助用户进行高效、全面的网络安全测试。从基本的编码转换到复杂的空间测绘和漏洞检测,这款工具提供了全方位的功能支持。下载链接:链接:https://pan.quark.cn/s/8c4268ee6b79软......
  • shell的简单编写
    shebang行shell脚本的第一行是#!/bin/bash,/bin/bash是我们用来解释该脚本的shell的路径,这里是用bash,也可以替换成其他的注释#这是一个注释以#开头表示该符号右侧是注释变量变量赋值在shell中,变量都是以字符串形式存储的,数字字符串会在进行算术运算时自动转换#不......