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

js网站统计海淘网站开发

js网站统计,海淘网站开发,注册公司需要多少费用,东营网站搜索引擎优化1. Python 中的集合(set) 1.1 特性 无序性:集合中的元素没有顺序,不能通过索引访问。唯一性:集合中的元素不能重复,如果尝试添加重复的元素,集合会自动忽略。可变性:集合是可变的&…

1. Python 中的集合(set

1.1 特性
  • 无序性:集合中的元素没有顺序,不能通过索引访问。
  • 唯一性:集合中的元素不能重复,如果尝试添加重复的元素,集合会自动忽略。
  • 可变性:集合是可变的,可以添加或删除元素。
  • 基于哈希表实现:集合的底层是哈希表,因此查找、插入和删除操作的平均时间复杂度都是 O(1)
1.2 创建集合
# 创建空集合
my_set = set()# 通过列表创建集合
my_set = set([1, 2, 3, 4, 4])  # 结果为 {1, 2, 3, 4},自动去重
1.3 常见操作
  • 添加元素
    my_set.add(5)  # 添加一个元素
    
  • 删除元素
    my_set.remove(3)  # 删除元素 3,如果元素不存在会抛出 KeyError
    my_set.discard(3)  # 删除元素 3,如果元素不存在不会报错
    
  • 查找元素
    if 2 in my_set:print("2 is in the set")
    
  • 集合运算
    • 并集
      set1 = {1, 2, 3}
      set2 = {3, 4, 5}
      union_set = set1.union(set2)  # 或者 set1 | set2
      print(union_set)  # 输出 {1, 2, 3, 4, 5}
      
    • 交集
      intersection_set = set1.intersection(set2)  # 或者 set1 & set2
      print(intersection_set)  # 输出 {3}
      
    • 差集
      difference_set = set1.difference(set2)  # 或者 set1 - set2
      print(difference_set)  # 输出 {1, 2}
      
    • 对称差集
      symmetric_difference_set = set1.symmetric_difference(set2)  # 或者 set1 ^ set2
      print(symmetric_difference_set)  # 输出 {1, 2, 4, 5}
      
1.4 应用场景
  • 去重:将列表转换为集合可以快速去除重复元素。
  • 快速查找:利用集合的 O(1) 查找特性,可以高效地判断某个元素是否存在。
  • 集合运算:用于处理集合之间的并集、交集、差集等操作,常用于图论、组合数学等问题。

2. C++ 中的集合(std::setstd::unordered_set

2.1 std::set
  • 特性
    • 有序性:集合中的元素会自动按照升序排列。
    • 唯一性:集合中的元素不能重复。
    • 基于红黑树实现:查找、插入和删除操作的时间复杂度为 O(log n)
  • 创建集合
    #include <set>
    std::set<int> my_set;
    
  • 常见操作
    • 添加元素
      my_set.insert(5);
      
    • 删除元素
      my_set.erase(3);
      
    • 查找元素
      if (my_set.find(2) != my_set.end()) {std::cout << "2 is in the set" << std::endl;
      }
      
    • 遍历集合
      for (int num : my_set) {std::cout << num << " ";
      }
      
2.2 std::unordered_set
  • 特性
    • 无序性:集合中的元素没有顺序。
    • 唯一性:集合中的元素不能重复。
    • 基于哈希表实现:查找、插入和删除操作的平均时间复杂度为 O(1)
  • 创建集合
    #include <unordered_set>
    std::unordered_set<int> my_unordered_set;
    
  • 常见操作
    • 添加元素
      my_unordered_set.insert(5);
      
    • 删除元素
      my_unordered_set.erase(3);
      
    • 查找元素
      if (my_unordered_set.find(2) != my_unordered_set.end()) {std::cout << "2 is in the set" << std::endl;
      }
      
2.3 应用场景
  • 快速查找std::unordered_set 的 O(1) 查找特性适合需要快速判断元素是否存在的场景。
  • 有序操作std::set 的有序特性适合需要对元素进行排序或二分查找的场景。
  • 去重:两种集合都可以用于去除重复元素。

3. 总结

  • Python 的 set
    • 无序、唯一、基于哈希表实现。
    • 查找、插入、删除操作的平均时间复杂度为 O(1)。
    • 适合快速查找、去重和集合运算。
  • C++ 的 std::set
    • 有序、唯一、基于红黑树实现。
    • 查找、插入、删除操作的时间复杂度为 O(log n)。
    • 适合需要有序操作的场景。
  • C++ 的 std::unordered_set
    • 无序、唯一、基于哈希表实现。
    • 查找、插入、删除操作的平均时间复杂度为 O(1)。
    • 适合快速查找和去重。
http://www.dtcms.com/wzjs/792050.html

相关文章:

  • 营销型网站建设技术指标wordpress文章列表显示摘要
  • app开发和网站开发哪个好百度点击率排名有效果吗
  • 什么网站推广比较好dw制作一个手机网站模板下载地址
  • 网站开发需要哪些资料重庆公司seo
  • 建设局网站新闻产品开发流程管理
  • 沧州高速公路建设管理局网站简捷的网站
  • 桌面上链接网站怎么做ajax 效果网站
  • 建设网站商城需要多少费用吗不申请域名可以 做网站吗
  • 网站建设佳木斯做网站都需要租服务器吗
  • 开发网站如何选需要黄页网址大全视频在线观看
  • 天河区pc端网站建设wordpress页眉logo链接
  • 网站开发下人员配置如何解决网站图片打开慢
  • 外省公司做网站备案为什么网站收录在百度突然没有了
  • 漯河做网站公司营销网站找什么公司做
  • 家具网站开发目的宁波海曙区建设局网站
  • 郑州公司网站建设哪家好用手机建网站
  • 大江网站建设58同城二手房个人出售
  • 营销型网站建设需要有什么功能网站没有建设好可以备案吗
  • 数据库和网站开发平面设计用到的软件有哪些
  • 自己做网站都需要什么网站建设管理员工工资多少钱
  • 姑苏网站制作pa66用途障车做网站
  • 代刷推广网站网站开发定价
  • 三联网站建设工作室哈尔滨网站制作推广
  • 自己做网站要办手续吗网站打开出现建设中
  • 成立一个网站平台要多少钱软件工程师好找工作吗
  • 网站改版的步骤网站布局是什么
  • ue4培训班一般学费多少网站可以同时做竞价和优化吗
  • 网站实施过程大型网页设计公司
  • 做网站订阅号找外贸客户的联系方式软件
  • 河南郑州app建设网站简约风格网站