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

一台电脑如何做网站版面设计的概念是什么

一台电脑如何做网站,版面设计的概念是什么,免费seo刷排名,贵阳市 网站建设堆排序 思路 堆排序思路是#xff1a; 将数组以二叉树的形式分析#xff0c;令根节点索引值为0#xff0c;索引值为index的节点#xff0c;子节点索引值分别为index*21、index*22#xff1b;对二叉树进行维护#xff0c;使得每个非叶子节点的值#xff0c;都大于或者…堆排序 思路 堆排序思路是 将数组以二叉树的形式分析令根节点索引值为0索引值为index的节点子节点索引值分别为index*21、index*22对二叉树进行维护使得每个非叶子节点的值都大于或者小于其子节点的值两种分别称为大根堆、小根堆其中二叉树根节点的值就是数组的最大值或最小值将二叉树根节点取出维护后的数组最后一个元素移至根节点再重新进行上述维护循环上述步骤直到数组所有元素均被取出则取出的所有元素组成的序列有序从而实现排序的目的。 代码实例 实现代码如下 hlist(map(int,input().split()))def heapSort(root):# 本质上heapSort实现的是根据小根堆的规则将二叉树根节点root的值h[root]向下移动# 直到h[root]到达某处该处root的两个子节点值均大于h[root]。# 如果root下面两边的子二叉树均符合小根堆那么处理之后以root为根节点的二叉树同样符合小根堆。aroot# 节点root的左子结点是root*21右子节点是root*22if root*21len(h) and h[a]h[root*21]:aroot*21# 如果是则此时a就是左子节点索引否则a仍是根节点索引if root*22len(h) and h[a]h[root*22]:aroot*22# 此时a就是root节点以及其两个子节点里面最小值的索引if a!root: # a此时是子节点索引值h[a],h[root]h[root],h[a] # 保证根节点值最小heapSort(a) # 从上往下递归处理else: # 要么根节点已经是最小的了要么根节点没有子节点不用排序returnfor i in range(len(h)//2,-1,-1):heapSort(i)# 从二叉树的底部开始处理保证每次处理某个节点时下面的子二叉树已经符合小根堆。 # print(h)lengthlen(h) for _ in range(length):if len(h)!1:h[0],h[-1]h[-1],h[0]print(h.pop(),end )heapSort(0)else:print(h.pop(),end ) heapSort函数维护的是小根堆此时代码输出内容就是列表h中元素从小到大排序的序列。 堆排序实质上很容易获取当前列表中最值因此topK问题输出列表中前K个最大/小值很适合用堆排序处理。 python内置模块——heapq 常用函数 heappush(heap,item)向列表heap中添加元素item添加时会保证heap仍然是小根堆时间复杂度为O(log(len(heap))) heapify(heap)以线性时间将列表heap转化为小根堆 heappop(heap)从堆heap中弹出并返回最小的值 注意点 1. 如果要建立大根堆可以考虑所有元素取负值此时堆本身为小根堆但我们自己希望的元素存储形式上是大根堆。 2. 调用heappush时添加的item可以是一个数此时就是根据item值维护小根堆但是item也可以是元组此时维护标准是元组中第0个元素当不同元组间前一个元素相同则参考下一个元素。 代码实例 AcWing:Dijkstra求最短路 II 实例题目中有向边的数量与节点数量相近可见此时该图为稀疏图。Dijkstra算法求最短路中在获取当前与1号点最短距离的节点时一般是选择遍历所有节点获取但是本题的图为稀疏图且节点数量众多此时会导致代码获取节点时间复杂度为O()显然时间复杂度过高。 此时换另一个思路不选择遍历所有节点而是存储已处理的节点并且每次直接获取到最短距离的节点。该方式可以联想到小根堆小根堆堆顶元素刚好可以符合要求。此时即可调用heapq库使用其中的函数维护小根堆便能实现本题目标。 代码 import heapq #本题需要使用到堆排序n,mmap(int,input().split()) edge[[] for _ in range(n1)] # edge[i][j][节点i的第j个邻接有向边指向的节点编号,该边长度] distance[1000000000 for _ in range(n1)] # distance[i]当前最短通路长度 visited[False for _ in range(n1)] for _ in range(m):a,b,dmap(int,input().split())edge[a].append([b,d]) distance[1]0 heapDis[(0,1)] while len(heapDis):#print(edge[now])dis,nowheapq.heappop(heapDis)if visited[now]:continuevisited[now] Truefor next, edgeDis in edge[now]:if distance[now]edgeDisdistance[next]:distance[next]distance[now]edgeDisheapq.heappush(heapDis, (distance[next], next))# 总计有m条边最多会向heapDis中添加m次元素# 每次添加元素最大时间复杂度为O(logn)# 因此总的时间复杂度为O(mlogn)if distance[n]10e9:print(-1) else:print(distance[n])
http://www.zqtcl.cn/news/483795/

相关文章:

  • 网站建设项目环境影响评价目录南宁网站建设索王道下拉
  • 广州富邦物流网站建设南宁住房和城乡建设部网站
  • asp.net 公司网站全面的移动网站建设
  • 中国空间站官网app下载平台有哪些
  • 做外贸网站报价单做网站需要什么证件吗
  • 网站可以做视频链接东红物流网站建设规划书
  • 自己的网站网站免费部署
  • 广州专业的网站建设公司镇海seo关键词优化费用
  • 网站建设英文字体格式网络技术培训内容
  • 郑州公司网站设计在西宁做网站可以吗
  • 做最好的言情网站南通优普营销网站建设
  • 毕业设计网站可以做什么辽宁省建设厅网站更新
  • 同城信息网站建设牡丹江网站推广
  • 四川省城乡住房建设部网站首页商丘网站制作公司一二三网络推广
  • asp网站开发全程视频免费发布招聘信息平台
  • 机械网站建设开发网站如何做收录排行
  • 成都市学校网站建设怎样做网站二维码
  • 网站建设企业电话在线照片处理编辑器
  • 长沙建设网站企业wordpress 亲子模板下载
  • 济南seo整站优化价格织梦网站做404页面
  • 石家庄做标书的网站如何选取网站关键词
  • 摄影作品网站推荐wordpress用插件注册
  • pc端兼手机端网站模板中国网站 服务器
  • 江宁区建设工程局网站做网站满屏的照片尺寸是多少
  • 中国设计师网站网站开发需要什么专业的人才
  • 制作网站第一步龙海建设局网站
  • 网站建设的业务规划资源分享类网站模板
  • app与网站数据交互忻州集团网站建设
  • 个人网站有必要备案吗专业建站哪家好
  • 网站代码软件WordPress 编辑器2016