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

网站编辑器无法显示企业的互联网推广

网站编辑器无法显示,企业的互联网推广,八亿建站,营销策划公司是做什么的在Python中,链表和哈希表都是常见的数据结构,可以用来存储和处理数据。 链表是一种线性数据结构,由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。链表可以用来实现栈、队列以及其他数据结构。Python中可…

在Python中,链表和哈希表都是常见的数据结构,可以用来存储和处理数据。

链表是一种线性数据结构,由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。链表可以用来实现栈、队列以及其他数据结构。Python中可以使用自定义类来实现链表,也可以使用内置的数据结构如listcollections.deque

哈希表(散列表)是一种根据关键字直接访问内存中存储位置的数据结构,通过哈希函数将关键字映射到内存地址。Python中的哈希表实现主要是通过字典(dict)数据类型实现的。

目录

链表

介绍

链表的创建和遍历

链表的插入和删除

双链表

哈希表

哈希表

哈希表的实现

哈希表的应用


链表

介绍

线性结构

class Node:def __init__(self,item):self.item = itemself.next = None
​
​
a = Node(1)
b = Node(2)
c = Node(3)
a.next = b
b.next = c
print(a.next.next.item)

链表的创建和遍历

头插法 尾差法

class Node:def __init__(self,item):self.item = itemself.next = None
​
​
def create_linklist_head(li):head = Node(li[0])for element in li[1:]:node = Node(element)node.next = headhead = nodereturn head
​
def create_linklist_tail(li):head = Node(li[0])tail = headfor element in li[1:]:node = Node(element)tail.next = nodetail = nodereturn head
def print_lk(lk):while lk:print(lk.item,end=',')lk = lk.next
​
lk = create_linklist_tail([1,2,3,5,8])
print_lk(lk)

链表的插入和删除

双链表

哈希表

哈希表

# python中的字典 集合(key 不能重复)都是使用的这种数据结构来存储的
# 一个通过哈希函数来计算数据存储位置的数据结构
​
'''
insert(key,value):插入键值对
​
get(key):如果存在键为key的键值对,则返回其value值,否则返回空值
​
delete(key):删除键为key的键值对
'''
# 直接寻址表+哈希函数 = 哈希表      浪费空间
# 哈希冲突# 开放寻址法:
'''
​
线性探查:位置被占用,寻找i+1,......
查找规则:22%7=1,1位置被占用,继续向后查找
​
二次探查:探查i+1^2,i-1^2,...
​
二度哈希:有n个哈希函数,当使用第一个哈希函数h1发生冲突时,尝试使用h2,h3??????
'''
# 拉链法 常用
# 哈希表每个位置都连接一个链表,当冲突发生时,冲突的元素将被加到该位置链表的最后
# 常见哈希函数
'''
除法哈希法:h(k) = k%m乘法哈希法       ??????
​
h(k) = floor(m(A*key%1))        向下取整
​
全域哈希.....
​
'''

哈希表的实现

# 哈希表的实现
​
class LinkList:class Node:def __init__(self,item=None):self.item = itemself.next = None
​# 迭代器class LinkListIterator:def __init__(self,node):self.node = nodedef __next__(self):if self.node:cur_node = self.nodeself.node = cur_node.nextreturn cur_node.itemelse:raise StopIterationdef __iter__(self):return self
​def __init__(self,iterable=None):self.head = Noneself.tail = Noneif iterable:self.extend(iterable)
​def append(self,obj):s = LinkList.Node(obj)if not self.head:self.head = sself.tail = selse:self.tail.next = sself.tail = s
​def extend(self,iterable):for obj in iterable:self.append(obj)
​def find(self,obj):for n in self:if n == obj:return Trueelse:return False# 迭代器def __iter__(self):return self.LinkListIterator(self.head)#转换成字符串def __repr__(self):return "<<"+",".join(map(str,self))+">>"
​
# 类似于集合的结构
class HashTable:def __init__(self,size = 101):self.size = sizeself.T = [LinkList() for i in range(self.size)]
​def h(self,k):return k % self.size
​def insert(self,k):i = self.h(k)if self.find(k):print("Duplicated Insert.")else:self.T[i].append(k)
​def find(self,k):i = self.h(k)return self.T[i].find(k)
​
​
ht = HashTable()
​
ht.insert(0)
ht.insert(1)
ht.insert(3)
ht.insert(102)
ht.insert(508)
# print(",".join(map(str,ht.T)))
​
print(ht.find(3))

哈希表的应用

加密,不能解密

哈希冲突(不同的值使用哈希函数计算出来的哈希值可能相同)

http://www.zhongyajixie.com/news/25107.html

相关文章:

  • 免费个人网站制作营销自动化工具
  • c 做的网站又哪些网站注册免费
  • 5000元网站seo推广河南网站优化
  • 广州网站建设优化湖北网站seo策划
  • 网页模版网站关键词排名是由什么决定的
  • 网站建设需要多长时间流量神器
  • 金融交易网站开发哈尔滨优化调整人员流动管理
  • 网站备案 几年舆情信息报送
  • 投资网站哪个好微信app小程序开发
  • cloud域名注册网站微博推广方式
  • 关于外贸公司的网站合肥seo报价
  • wordpress主题php破解360优化大师最新版下载
  • 设计网站中如何设置特效关键词筛选工具
  • 职教集团网站建设方案网络营销有哪些模式
  • 大收录量的网站怎么做网站制作过程
  • 阿里云网站建设教程电商运营基础知识
  • 佛山市制作网站网盟推广
  • 电商网站开发系统架构今天军事新闻最新消息
  • 大学网站建设与功能开发黄冈seo
  • 门户网站建设需要多少钱电商数据网站
  • 长春网站建设公司抖音权重查询
  • 西安网页制作培训机构廊坊seo排名优化
  • 北京个人网站建设多少钱seo评测论坛
  • 那个网站百度收录快苏州百度快照优化排名
  • 温州哪家做网站百度云网站入口
  • 网站制作价格情况百度页面
  • 虎门网站建设推广论坛seo招聘
  • 2345浏览器免费版百度seo工作室
  • 免费生成网页的网站企业宣传推广
  • 山东企业网站建设百度咨询电话 人工客服