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

关于dw做网站怎么做游戏推广员

关于dw做网站,怎么做游戏推广员,b2b免费发布信息,专做影视评论的网站常见的数据结构包括数组、链表、队列、栈、树、堆、哈希表和图,每种数据结构都有其特点,如下: 常见数据结构 1.数组2.链表3.队列4.栈5.树6.图7.哈希表8.堆 1.数组 特点: 固定大小的线性数据结构支持快速随机访问插入和删除效率…

常见的数据结构包括数组、链表、队列、栈、树、堆、哈希表和图,每种数据结构都有其特点,如下:

常见数据结构

  • 1.数组
  • 2.链表
  • 3.队列
  • 4.栈
  • 5.树
  • 6.图
  • 7.哈希表
  • 8.堆

1.数组

特点:

  • 固定大小的线性数据结构
  • 支持快速随机访问
  • 插入和删除效率比较低

一般应用于需要快速随机访问元素的场景。
案例:

# 定义一个数组
arr = [1, 2 , 3, 4, 5]
# 访问数组元素
print(arr[2])  # 输出: 3# 修改数组元素
arr[2] = 10
print(arr)  # 输出: [1, 2, 10, 4, 5]# 添加元素
arr.append(6)
print(arr)  # 输出: [1, 2, 10, 4, 5, 6]# 删除元素
arr.pop(2)
print(arr)  # 输出: [1, 2, 4, 5, 6]

2.链表

特点:

  • 动态大小的数据结构
  • 插入和删除效率比较高
  • 不支持快速随机访问

适用于需要频繁插入和删除元素的场景
案例:

class Node:def __init__(self, data=None):self.data = dataself.next = Noneclass LinkedList:def __init__(self):self.head = Nonedef append(self, data):new_node = Node(data)if not self.head:self.head = new_nodereturnlast = self.headwhile last.next:last = last.nextlast.next = new_nodedef print_list(self):curr = self.headwhile curr:print(curr.data, end=" -> ")curr = curr.nextprint("None")# 使用链表
llist = LinkedList()
llist.append(1)
llist.append(2)
llist.append(3)
llist.print_list()  # 输出: 1 -> 2 -> 3 -> None

3.队列

特点:

  • 先进先出
  • 插入操作在队尾进行,删除操作在队头进行

应用于需要先进先出访问元素的场景,如任务调度、消息队列等
案例:

from collections import deque# 使用 deque 实现队列
queue = deque()# 入队
queue.append(1)
queue.append(2)
queue.append(3)
print(queue)  # 输出: deque([1, 2, 3])# 出队
print(queue.popleft())  # 输出: 1
print(queue)  # 输出: deque([2, 3])

4.栈

特点:

  • 先进后出
  • 插入和删除在栈顶进行

应用于需要后进先出访问元素的场景,如函数调用栈、表达式求值等
案例:

# 使用列表实现栈
stack = []# 入栈
stack.append(1)
stack.append(2)
stack.append(3)
print(stack)  # 输出: [1, 2, 3]# 出栈
print(stack.pop())  # 输出: 3
print(stack)  # 输出: [1, 2]

5.树

特点:

  • 非线性,由节点和边组成
  • 树中的节点有层次关系,一个节点可以有多个子节点

应用于需要表示层次结构的场景,比如文件系统、组织结构等
案例:


class TreeNode:def __init__(self, data):self.data = dataself.children = []def add_child(self, child_node):self.children.append(child_node)def print_tree(self, level=0):prefix = " " * (level * 4)print(prefix + self.data)for child in self.children:child.print_tree(level + 1)# 创建树
root = TreeNode("Root")
child1 = TreeNode("Child1")
child2 = TreeNode("Child2")
child3 = TreeNode("Child3")
root.add_child(child1)
root.add_child(child2)child1.add_child(TreeNode("Grandchild1"))
child1.add_child(TreeNode("Grandchild2"))
root.print_tree()

6.图

特点:

  • 非线性,由节点和边组成
  • 图中的节点可以通过边来相互连接

应用于需要表示网络结构的场景,如社交网络、交通网络等。
案例:

class Graph:def __init__(self):self.graph = {}def add_edge(self, u, v):if u not in self.graph:self.graph[u] = []self.graph[u].append(v)def print_graph(self):for node in self.graph:print(f"{node} -> {', '.join(self.graph[node])}")# 创建图
g = Graph()
g.add_edge("A", "B")
g.add_edge("A", "C")
g.add_edge("B", "D")
g.add_edge("C", "D")
g.print_graph()

7.哈希表

特点:

  • 基于哈希函数实现的键值对数据结构
  • 支持快速的插入、删除和查找操作

应用于需要快速查找和插入操作的场景,如字典、缓存等。
案例:

# 使用字典实现哈希表
hash_table = {}# 插入键值对
hash_table["name"] = "John"
hash_table["age"] = 30
hash_table["city"] = "New York"
print(hash_table)  # 输出: {'name': 'John', 'age': 30, 'city': 'New York'}# 查找键值对
print(hash_table["name"])  # 输出: John# 删除键值对
del hash_table["age"]
print(hash_table)  # 输出: {'name': 'John', 'city': 'New York'}

8.堆

特点:

  • 堆是一颗完全二叉树
  • 分为最大堆和最小堆
    • 最大堆:每个节点的值都大于或等于其子节点的值。
    • 最小堆:每个节点的值都小于或等于其子节点的值。
  • 支持快速获取最大值或最小值的操作。

适用于优先队列,堆排序和实现高效的合并K个有序链表问题。
案例:

import heapq# 创建一个最小堆
min_heap = []# 插入元素
heapq.heappush(min_heap, 3)
heapq.heappush(min_heap, 1)
heapq.heappush(min_heap, 4)
heapq.heappush(min_heap, 2)
print(min_heap)  # 输出: [1, 2, 4, 3]# 弹出最小元素
print(heapq.heappop(min_heap))  # 输出: 1
print(min_heap)  # 输出: [2, 3, 4]# 创建一个最大堆(通过将元素取反实现)
max_heap = []
heapq.heappush(max_heap, -3)
heapq.heappush(max_heap, -1)
heapq.heappush(max_heap, -4)
heapq.heappush(max_heap, -2)
print([-x for x in max_heap])  # 输出: [4, 2, 3, 1]# 弹出最大元素
print(-heapq.heappop(max_heap))  # 输出: 4
print([-x for x in max_heap])  # 输出: [3, 2, 1]
http://www.hkea.cn/news/793006/

相关文章:

  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪
  • github 可以做网站吗360seo
  • 杭州 企业门户网站建设爱链
  • dj那个网站做的好长沙公司网络营销推广
  • 设计师培训招生视频黑帽seo联系方式
  • 做网上贸易哪个网站好西宁网站seo
  • 电子烟网站建设杯子软文营销300字
  • 广州企业网站制作怎么做营销推广
  • 网站建设服务器在香港郑州网站建设专业乐云seo
  • 河北建设工程交易信息网海口关键词优化报价
  • 全国网站建设公司有多少家微信朋友圈广告投放收费标准
  • 免费做网站公司黑帽seo排名技术
  • apk连接wordpress上海seo
  • 企业建网站租用服务器好还是买一个好石家庄网站关键词推广
  • wordpress文件解析外贸网站优化
  • 建设工程竣工备案网站百度保障中心人工电话
  • 韶关城乡建设部网站首页营销型网站建设策划书
  • 建设银行手机银行下载官方网站谷歌浏览器网页版入口在哪里
  • 网站建设 好域名注册信息
  • 公众号微网站建设认证哪个推广网站好
  • 爬取1024上传到wordpress蔡甸seo排名公司
  • 流感吃什么药更好seo的方法
  • 营销型网站建设市场seo黑帽技术有哪些
  • 扬中做网站的公司seo虚拟外链
  • 永川集团网站建设免费网站seo诊断
  • 国外 上海网站建设网络营销推广方式案例
  • 24手表网站网络技术推广服务
  • 鞍山网站制作推广游戏推广员判几年