如何做一名合格的网站人静态网页设计与制作

news/2025/9/23 1:08:11/文章来源:
如何做一名合格的网站人,静态网页设计与制作,wordpress列表页模板,wordpress调用插件#x1f308;个人主页#xff1a;SKY-30 ⛅个人推荐#xff1a;基于java提供的ArrayList实现的扑克牌游戏 |C贪吃蛇详解 ⚡学好数据结构#xff0c;刷题刻不容缓#xff1a;点击一起刷题 #x1f319;心灵鸡汤#xff1a;总有人要赢#xff0c;为什么不能是我呢 个人主页SKY-30 ⛅个人推荐基于java提供的ArrayList实现的扑克牌游戏 |C贪吃蛇详解 ⚡学好数据结构刷题刻不容缓点击一起刷题 心灵鸡汤总有人要赢为什么不能是我呢 Map 和Set 概念 map和set是一种用来搜索的数据结构其搜索效率与具体实例化的子类有关之前我们搜索的方法有 直接遍历利用for循环暴力求解事件复杂度为O(N)二分查找时间复杂度O(logN),搜索之前要求序列是有序的 但是如果我们对于存储的数据经常要执行修改和删除的操作那么上述的两种操作就非常不适合了我们这里就引出两个新的数据结构-map和set。 模式 对于map来说它的存储形式是形如K-keyV-value这种类似于键值对的这种形式进行存储而set则是只有key这一种形式。 Map Map是一个接口没有继承collection该类的存储形式是K,V并且这里的K是唯一的不能重复。 Map.EntryK,V Map.EntryK,V是Map内部用来存放key,value键值对的映射关系的一个内部类该类提供了Key,value获取value的设置即Key的比较形式 方法解释K getKey()返回 entry中的keyV getValue返回entry中的valueV setValue将键值对中的value替换为指定的value Map的一些常用方法 Map的一些注意事项 Map是一个接口不能直接实例化对象如果要实例化我们只能实例实现其接口的类TreeMap和HashMap。Map中Key的元素是唯一的Value可以重复的在Treemap中插入元素时Key不能为空否则会报错value却可以为空需要注意在HashMap中是可以插入为空的Map中的Key是不能修改的要想修改的话只能删除对应的数据然后重新插入但是Value是可以重新修改的。Treemap和HashMap的区别这个后面说 import java.util.TreeMap; import java.util.Map; public static void TestMap(){ MapString, String m new TreeMap(); // put(key, value):插入key-value的键值对 // 如果key不存在会将key-value的键值对插入到map中,返回null m.put(林冲, 豹子头); m.put(鲁智深, 花和尚); m.put(武松, 行者); m.put(宋江, 及时雨); String str m.put(李逵, 黑旋风); System.out.println(m.size()); System.out.println(m); // put(key,value): 注意key不能为空但是value可以为空 // key如果为空会抛出空指针异常 //m.put(null, 花名); str m.put(无名, null); System.out.println(m.size()); // put(key, value): // 如果key存在会使用value替换原来key所对应的value返回旧value str m.put(李逵, 铁牛); // get(key): 返回key所对应的value // 如果key存在返回key所对应的value // 如果key不存在返回null System.out.println(m.get(鲁智深)); System.out.println(m.get(史进)); //GetOrDefault(): 如果key存在返回与key所对应的value如果key不存在返回一个默认值 System.out.println(m.getOrDefault(李逵, 铁牛)); System.out.println(m.getOrDefault(史进, 九纹龙)); System.out.println(m.size()); //containKey(key)检测key是否包含在Map中时间复杂度O(logN) // 按照红黑树的性质来进行查找 // 找到返回true否则返回false System.out.println(m.containsKey(林冲)); System.out.println(m.containsKey(史进)); // containValue(value): 检测value是否包含在Map中时间复杂度: O(N) // 找到返回true否则返回false System.out.println(m.containsValue(豹子头)); System.out.println(m.containsValue(九纹龙)); // 打印所有的keyfor(String s : m.keySet()){ System.out.print(s ); } System.out.println(); // 打印所有的value // values()是将map中的value放在collect的一个集合中返回的 for(String s : m.values()){ System.out.print(s ); } System.out.println(); // 打印所有的键值对 // entrySet(): 将Map中的键值对放在Set中返回了 for(Map.EntryString, String entry : m.entrySet()){ System.out.println(entry.getKey() --- entry.getValue()); } System.out.println(); } // keySet是将map中的key防止在Set中返回的}Set-详解 Set与Map很大的一个不同就是Set继承了collection而map并没有。 ⚡⚡⚡一些常见的方法 ⚡⚡⚡针对Set的一些注意事项 Set是继承了collection的一个接口类Set中只存储了Key并且要求他是唯一的不能重复Set的最大的一个特点就是对数据去重。实现Set接口的两个常见的类是HashSet和TreemapTreeSet中的key不能插入null,HashSet则可以插入null在这里插入代码片 import java.util.TreeSet; import java.util.Iterator; import java.util.Set; public static void TestSet(){ SetString s new TreeSet(); // add(key): 如果key不存在则插入返回ture // 如果key存在返回false boolean isIn s.add(apple); s.add(orange); s.add(peach); s.add(banana); System.out.println(s.size()); System.out.println(s);boolean isIn s.add(apple); // add(key): key如果是空抛出空指针异常 //s.add(null); // contains(key): 如果key存在返回true否则返回false System.out.println(s.contains(apple)); System.out.println(s.contains(watermelen)); // remove(key): key存在删除成功返回true // key不存在删除失败返回false // key为空抛出空指针异常 s.remove(apple); System.out.println(s); s.remove(watermelen); System.out.println(s); IteratorString it s.iterator(); while(it.hasNext()){ System.out.print(it.next() ); } System.out.println(); }哈希表 不经过任何比较一次直接从表中得到要搜索的元素。 如果构造一种存储结构通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系那么在查找时通过该函数可以很快找到该元素。 当向该结构中 插入元素 根据待插入元素的关键码以此函数计算出该元素的存储位置并按此位置进行存放。 搜索元素 对元素的关键码进行同样的计算把求得的函数值当做元素的存储位置在结构中按此位置取元素比较若关键码相等则搜索成功 该方式即为哈希(散列)方法哈希方法中使用的转换函数称为哈希(散列)函数构造出来的结构称为哈希表(HashTable)(或者称散列表) ⚡⚡⚡冲突 不同关键字通过相同哈希哈数计算出相同的哈希地址该种现象称为哈希冲突或哈希碰撞。 如何解决哈希碰撞呢这里几种不同的方法给大家具体说明一下。 ⚡⚡⚡解决哈希冲突的及汇总方法 引起哈希冲突的一个原因可能是哈希函数设计不够合理。 哈希函数设计原则哈希函数的定义域必须包括需要存储的全部关键码而如果散列表允许有m个地址时其值域必须在0到m-1之间哈希函数计算出来的地址能均匀分布在整个空间中哈希函数应该比较简单 常见的哈希函数 除留余数法 设散列表中允许的地址数为m取一个不大于m但最接近或者等于m的质数p作为除数按照哈希函数 Hash(key) key% p(pm),将关键码转换成哈希地址。 除此之外我们还发现哈希冲突与负载因子有关所以如何利用负载因子降低冲突率呢首先负载因子的计算公式是填入表中的数据的个数/散列表的长度 由于我们无法改变插入表中的数据所以我们只能改变表的长度了。 ⚡⚡⚡冲突-解决-闭散列 闭散列也叫开放定址法当发生哈希冲突时如果哈希表未被装满说明在哈希表中必然还有空位置那么可以 把key存放到冲突位置中的“下一个” 空位置中去。那如何寻找下一个空位置呢 这里我们介绍一种比较常见的方法 线性探测 比如现在需要插入元素44先通过哈希函数计算哈希地址下标为4因此44理论上应该插在该位置但是该位置已经放了值为4的元素即发生哈希冲突。 线性探测从发生冲突的位置开始依次向后探测直到寻找到下一个空位置为止。 但是线性探测这种方法存在一定的问题比如他会导致数据全部聚集在同一块区域导致我们后面插入数据的时候可能要讲过多次的查找操作所以我们为了解决这个问题发明了另一种探测方法。 二次探测 相比与线性探测二次探测通过制定的函数可以将数据均匀的插入到数组当中避免数据扎堆的情况。 找下一个空位置的方法为 H (H0 i*i )% m, 其中i 1,2,3… 是通过散列函数Hash(x)对元素的关键码 key 进行计算得到的位置 m是表的大小。 研究表明当表的长度为质数且表装载因子a不超过0.5时新的表项一定能够插入而且任何一个位置都不 会被探查两次。因此只要表中有一半的空位置就不会存在表满的问题。在搜索时可以不考虑表装满的情 况但在插入时必须确保表的装载因子a不超过0.5如果超出必须考虑增容。 因此比散列最大的缺陷就是空间利用率比较低这也是哈希的缺陷。 ⚡⚡⚡冲突-解决-开散列/哈希桶重点掌握 开散列法又叫链地址法(开链法)首先对关键码集合用散列函数计算散列地址具有相同地址的关键码归于同一子集合每一个子集合称为一个桶各个桶中的元素通过一个单链表链接起来各链表的头结点存储在哈希表中。 开散列可以认为是把一个在大集合中的搜索问题转化为在小集合中做搜索了。 // key-value 模型 public class HashBucket { private static class Node { private int key; private int value; Node next; public Node(int key, int value) { this.key key; this.value value; } 比特就业课 } private Node[] array; private int size; // 当前的数据个数 private static final double LOAD_FACTOR 0.75; public int put(int key, int value) { int index key % array.length; // 在链表中查找 key 所在的结点 // 如果找到了更新 // 所有结点都不是 key插入一个新的结点 for (Node cur array[index]; cur ! null; cur cur.next) { if (key cur.key) { int oldValue cur.value; cur.value value; return oldValue; } } Node node new Node(key, value); node.next array[index]; array[index] node; size; if (loadFactor() LOAD_FACTOR) { resize(); } return -1; } private void resize() { Node[] newArray new Node[array.length * 2]; for (int i 0; i array.length; i) { Node next; for (Node cur array[i]; cur ! null; cur next) { next cur.next; int index cur.key % newArray.length; cur.next newArray[index]; newArray[index] cur; } } array newArray; } private double loadFactor() { return size * 1.0 / array.length; } public HashBucket() { array new Node[8]; size 0; } public int get(int key) { int index key % array.length; Node head array[index]; for (Node cur head; cur ! null; cur cur.next) { if (key cur.key) { return cur.value; } } return -1; } }⚡⚡⚡关于HashMap和HashSet的注意事项 HashMap 和 HashSet 即 java 中利用哈希表实现的 Map 和 Setjava 中使用的是哈希桶方式解决冲突的java 会在冲突链表长度大于一定阈值后将链表转变为搜索树红黑树java 中计算哈希值实际上是调用的类的 hashCode 方法进行 key 的相等性比较是调用 key 的 equals 方法。所以如果要用自定义类作为 HashMap 的 key 或者 HashSet 的值必须覆写 hashCode 和 equals 方 法而且要做到 equals 相等的对象hashCode 一定是一致的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建立网站大概需要多长时间丹阳火车站片区规划

非类型模板参数 模板参数分为类型形参与非类型形参 。 类型形参即:出现在模板参数列表中,跟在 class 或者 typename 之类的参数类型名称 。 非类型形参,就是用一个常量作为类 ( 函数 ) 模板的一个参数,在类 ( 函数 ) 模板中可将…

网站专题怎么做呢广州页面制作公司

从 NS-10M 监听音箱到 MSP 系列和 HS 系列,雅马哈始终秉持忠实的设计理念,聚焦声学精度,为音频专家提供出色的平台,构建并成就他们专属的专业之声。MT7录音室监听耳机承袭了这一基本研发理念,重现最为精细的声音,力求满…

capacitor的android项目接入穿山甲遇到的坑

Caused by: java.lang.ClassNotFoundException: Didnt find class "com.bytedance.sdk.openadsdk.TTFileProvider" on path: DexPathList[[zip file "/data/app/~~Ol1vZKiGBPJT4eFuTS5Zyw==/org.capaci…

网站建设的看法有哪些后端和前端哪个前景好

一.四种模型 阻塞式IO,非阻塞式IO,信号驱动IO,IO多路复用 二.阻塞式IO 特点:最简单,最常用,效率低 阻塞I/O 模式是最普遍使用的I/O 模式 系统默认状态,套接字建立后所处于的模式就是阻塞I/O 模式…

网站建设运营策划方案建站行业乱象完整版

文章目录 0 引入1、带有标尺的温度/湿度计控件1.头文件2.核心代码 2、竖起来的温度/湿度计控件1.头文件2.实现 3、引用 0 引入 QT原生控件没有实现如仪表盘或者温度计的控件,只好自己实现,文章代码部分参考引用的文章。直接上图 图一 带有标尺的温度计…

新建网站的步骤阿里云搜索引擎入口

目录 前言 一、fsck命令 1、HDFS副本块数量的配置 2、fsck命令查看文件的副本数 3、block配置 二、NameNode元数据 1、edits文件 2、fsigame文件 3、NameNode元数据管理维护 4、元数据合并控制参数 5、SecondaryNameNode的作用 三、HDFS数据的读写流程 1、数据写入…

网络优化推广 网站开发建设重庆seo优化公司

正文 大约在五六年前,第一次接触到了当时已经是hot topic的NoSql。不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉。但是印象深刻的是这么一张图片(后来google到图片来自这里&…

做网站需要多少带宽点播视频网站怎么建设

实验报告题目: 内核模块实验1、实验目的模块是Linux系统的一种特有机制,可用以动态扩展操作系统内核功能。编写实现某些特定功能的模块,将其作为内核的一部分在管态下运行。本实验通过内核模块编程在/porc文件系统中实现系统时钟的读操作接口。2、实验内…

怎么区分营销型网站个人宽带 架设网站需备案

本文翻译自 Reduce the scope and complexity of style calculations,作者:Jeremy Wagner, 略有删改。 JavaScript通常用来改变页面的视觉效果。比如通过改变style样式或者通过计算后改变页面布局,比如搜索或排序数据。长时间运行…

增加网站访客wordpress蜘蛛插件

一、环境QT版本:QT 5.8.0(msvc2013_64)MySQL版本:mysql 5.7.19二、配置之前 mysql 数据库一直都连接不上,网上也搜了很多资料,主要还是库文件的问题。重新将 mysql.pro 编译一下,将生成的 .dll 和 .lib 文件拷贝到 QT …

做深度报道的网站沪尚茗居装修口碑怎么样

档案馆展厅设计的特色化不仅可以增强参观者的体验感,还可以更好地展现档案馆的历史文化价值。 在设计档案馆展厅时,我们可以通过以下几个方面来让其更具特色: 一、主题明确 首先,确定展厅的主题是关键。可以是档案馆的历史沿革…

北京网站建设 shwl虚拟机wordpress建站

0、国内 GitHub 被爆造假,起底背后的黑色产业链作为全球最大的开源社区,GitHub 对于程序员群体而言像是空气般重要的存在,而互联网公司也会通过 GitHub 来进一步了解面试者的编程习惯,技术水平等。但最近知乎上有一篇《中国内地 G…

网页与网站之间的关系做网站的域名怎么申请

引入 今日概要 图片懒加载seleniumphantomJs谷歌无头浏览器知识点回顾 验证码处理流程今日详情 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 …

新手做站必看 手把手教你做网站免费域名网站黄

Mysql数据库 ⽬前关系数据库有六种范式: 第⼀范式(1NF)、第⼆范式(2NF)、第三范式(3NF)、巴斯-科德范式 (BCNF)、第四范式(4NF)和第五范式(5NF&a…

php企业网站cms网站设计流程详细步骤

YOLOv8n原图检测YOLOv8n增强后检测召回率和置信度都有提升 前言 这篇博客讲讲低照度,大家都催我出一些内容,没想到这么多同学搞这个,恰好我也做过这方面的一些工作,那今天就来讲解一些方法,低照度的图像增强大体分“传统算法”和“深度学习算法”; 目前低照度的图像增…

手机seo网站推广seo型网站

目录 1. 为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 ​编辑 ​编辑 4.1 对比一组函数: ​编辑 5. 文件的随机读写 5.1 fseek 5.2 ftell 5.3 rewind…

网站建设公司应该怎么转型wordpress 调用豆瓣

每个优秀的程序员都喜欢编写简洁但有效且经过优化的代码。 类型推断是JDK 7中引入的一种方法,它肯定会为您带来更少键入的好处。 您以以下方式使用Java代码已有很长时间了。 但是,在初始化Collections的特定实现时,您是否曾经想到过代码重复&…

云建站平台哪家好濮阳网络电视直播

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型22-基于pytorch搭建SimpleBaseline(人体关键点检测)模型,并详细介绍该网络模型与代码实现。本文将介绍关于SimpleBaseline模型的原理,以及利用pytorch框架搭建模型…

凡客建站手机版下载咋样查看网站用什么编程语言做的

1:端口需要隔离开 新版增加GRPC 不要挨着设置ip,否则会出现端口占用。 可以使用 8848 8858 8868 8848GRPC会占用9848 9899 8849: 占用9849 9850 8850: 占用9850 9851 nginx 负载也需要与上述端口 隔离开…

怎么把自己做的网站让别人收到国内做网站群平台的公司

在嵌入式环境下,使用CMSIS-DSP库进行音频信号处理是一种常见的应用场景。通过CMSIS-DSP库,开发人员可以利用嵌入式系统的处理能力来实现各种数字信号处理(DSP)功能,例如音频滤波、均衡器、噪音消除等。本文将介绍如何在…