C# 位图算法

[复制链接]
发表于 2026-2-8 09:58:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
比如大量整数的快速查找,使用位利用来表现整数聚集,因此利用速率非常快。
平凡查找算法

起首,我们看看平凡的查找算法,比如使用List<int>或HashSet<int>来查找整数。
  1. using System;
  2. using System.Collections.Generic;
  3. public class Program
  4. {
  5.     public static void Main()
  6.     {
  7.         List<int> numbers = new List<int>();
  8.         Random random = new Random();
  9.         for (int i = 0; i < 1000000; i++)
  10.         {
  11.             numbers.Add(random.Next(0, 1000000));
  12.         }
  13.         // 查找数字
  14.         int target = 500000;
  15.         bool exists = numbers.Contains(target);
  16.         Console.WriteLine("普通算法 - 目标存在: " + exists);
  17.     }
  18. }
复制代码
位图算法

使用位图算法实现同样的查找。假设整数的范围在0到999999之间,我们可以使用一个位图来表现这些整数
  1. using System;
  2. public class Program
  3. {
  4.     public static void Main()
  5.     {
  6.         const int size = 1000000;
  7.         byte[] bitmap = new byte[size / 8]; // 使用位图存储数据
  8.         Random random = new Random();
  9.         // 填充位图
  10.         for (int
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表