avatar
文章
161
标签
37
分类
21
主页
文章
笔记
时间轴
项目
研发手记
更多
  • 搜索
  • 学习路线
  • 简历
  • 工具
  • 音乐
  • 视频
  • 感悟
  • 站点档案
  • 友链
  • GitHub
  • B站
岁迹
主页
文章
笔记
时间轴
项目
研发手记
更多
  • 搜索
  • 学习路线
  • 简历
  • 工具
  • 音乐
  • 视频
  • 感悟
  • 站点档案
  • 友链
  • GitHub
  • B站

岁迹

基本语法
发表于2026-06-27|编程语言
基础语法(C#)12345678910111213//最基础的C#程序结构如下using System;namespace CSharp_project{ class Program { static void Main(string[] args) { Console.WriteLine("Hello"); } }} 12345678910111213using System; //引入命名空间 Console 属于Systemnamesapce //包含了一系列的类class //包含了程序使用的数据和方法声明、Console.WriteLine(""); //输入到控制台上(输出语句)Console.Write("");//bConsole.WriteLine(@"");//添加@后 转义字符不生效string s...
链表面试题
发表于2026-06-27|算法与数据结构
判断链表是否为回文1.使用容器栈来进行,将所有的数据压入栈,在一个一个出栈与链表进行比较,只要不相同就直接return false 123456789101112131415161718public bool isTenet(Node head){ Stack<int> Contains = new Stack<int>(); Node cur = head; while (cur != null) { Contains.Push(cur.e); cur = cur.next; } cur = head; while (cur != null) { if (Contains.Pop() != cur.e) return false; cur = cur.next; } return true;} 2.翻转后端链表,使用快慢指针找到中间节点,找到后翻转后半部分的...
贪心算法
发表于2026-06-27|算法与数据结构
贪心算法(堆,排序)贪心算法是一种在每一步选择当前最优解,从而希望最终得到全局最优解的算法策略。它的核心思想是局部最优导致全局最优,即在每个决策阶段选择对当前最有利的选项,而不考虑未来的影响 贪心算法的基本特点 特点 说明 局部最优选择 每一步都选择当前看起来最好的解 无后效性 当前的选择不会影响未来的选择 不可回退 一旦做出选择,就不能撤销(不像回溯算法) 高效性 通常时间复杂度较低,适用于大规模问题 贪心算法不一定能得到全局最优解,只有在满足以下两个条件时才能保证最优性: (1) 贪心选择性质(Greedy Choice Property) 当前的最优选择能导致全局最优解。 即:局部最优解包含在全局最优解中。 (2) 最优子结构(Optimal Substructure) 问题的最优解包含其子问题的最优解。 即:全局最优解 = 当前最优选择 + 子问题的最优解。 贪心算法 vs 动态规划(DP) 对比项 贪心算法 动态规划 决策方式 每一步选择当前最优 考虑所有可能的子问题 最优性 不一定全局最优(除非满足贪心条件) 保...
简单排序
发表于2026-06-27|算法与数据结构
前几种时间复杂度为O(n * n)的排序 选择排序 12345678910111213141516171819202122232425public static void SeletSort(int[] arr){ if (arrs == null || arrs.Length < 2) return; for(int i = 0; i < arr.Length;i++){ int newIndex = i; for(int j = i+1;j<arr.Length;j++){ newIndex = arr[j] < arr[newIndex] ? j:newIndex; } Swap(arr,i,newIndex); }} public static void Swap(int[] arr, int i, int j) { int temp = arr[j]; arr[j] = a...
归并排序
发表于2026-06-27|算法与数据结构
迭代归并排序123456789101112131415161718192021222324252627282930313233343536public void Sort(int[] arrs, int L, int R) { int step = 1; int N = arrs.length; while (step < N) { int left = 0; while (left < N) { int mid = left + step - 1; if (mid >= N) break; int right = Math.min(left + 2 * step - 1, N - 1); // 修正右边界计算 Merge(arrs, left, mid, right); // 修正方法调用参数 left = right + 1; &#...
异或相关面试题
发表于2026-06-27|算法与数据结构
异或:2进制相同为0,不同为1。同时满足交换律和结合律 0 ^ N = N N ^ N = 0 同或:2进制相同为1,不同为0 题一:如何不用额外遍历交换两个数默认情况是使用临时变量来存储一个数,最后交换。在此处我们使用异或运算,依靠异或的下列特点来进行交换。 123456789//默认情况int tmp = a;a = b;b = tmp;//依靠异或,但是条件是,A,B指向的是不同的内存区域a = a ^ b;b = a ^ b;a = a ^ b; 0 ^ N = N N ^ N = 0 题二:一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并且打印这种数(LeetCode136)默认情况是使用字典进行存储,将每种数作为键进行存储,值则为出现的次数,最后循环找到奇数次的那种数. 创建一个变量赋值为 0,使用该变量异或遍历每一个数组的值,即可。 1234567891011static void Main(string[] args){ int[] arrs = { 1, 1,2, 2, ...
并查集
发表于2026-06-27|算法与数据结构
并查集并查集(Union-Find)是一种用于管理不相交集合(Disjoint Sets)的数据结构,主要支持以下两种高效操作: Find(查找):查询某个元素所属的集合(通常返回该集合的代表元素)。 Union(合并):将两个集合合并为一个集合。 此外,并查集通常还支持: 初始化(MakeSet):为每个元素单独创建一个集合。 判断两个元素是否属于同一集合(isSameSet)。 核心概念 集合的代表(Root / Parent): 每个集合有一个代表元素(通常称为根节点或父节点)。 所有属于该集合的元素的 Find操作最终都会指向这个代表元素。 路径压缩(Path Compression): 在 Find操作时,将查询路径上的所有节点直接指向根节点,以优化后续查询效率。 按秩合并(Union by Rank / Size): 在 Union操作时,将较小的集合合并到较大的集合中,以保持树的平衡,提高效率。 操作 普通实现 路径压缩 + 按秩合并 Find O(n) O(α(n)) (接近常数) Union O(n) ...
复杂度,对数器,二分法
发表于2026-06-27|算法与数据结构
复杂度常数操作在算法分析中,”常数操作”(constant-time operation)指的是执行时间不随输入规模变化的操作,其时间复杂度为 O(1)。以下是关于复杂度和常数操作的详细说明: 常数操作的定义 特点:执行时间固定,与输入数据量无关。 示例: 基本算术运算(如 a + b、x * y)。 数组通过索引访问(如 arr[i])。 指针解引用或赋值(如 p = q)。 简单的比较(如 if (x < y))。 哈希表的插入、查找(假设哈希冲突极少)。 复杂度分析中的常数操作 大 O记号:忽略常数项和低阶项,但实际编程中常数因子可能影响性能。 例如,两个算法均为 O(n),但一个的常数操作更少,可能更快。 示例对比: 算法 A:每次循环执行 2 次常数操作 → 2n次操作 → O(n)。 算法 B:每次循环执行 5 次常数操作 → 5n次操作 → 仍为 O(n),但实际更慢。 选择,冒泡,插入都是O(n * n)的时间复杂度,其中插入排序的最好时间复杂度是O(n),最差的O(n * n)。 对数器对数器(对数器测试法)是一种用于验证算法正确性的测试方...
堆和堆排序
发表于2026-06-27|算法与数据结构
比较器在 C# 中,比较器用于定义对象的排序规则。主要有以下几种实现方式: 1. IComparable 接口实现 IComparable 接口可以让对象自身具有比较能力: 1234567891011121314151617public class Person : IComparable<Person>{ public string Name { get; set; } public int Age { get; set; } public int CompareTo(Person other) { if (other == null) return 1; // 先按年龄比较 int ageComparison = Age.CompareTo(other.Age); if (ageComparison != 0) return ageComparison; // 年龄相同再按...
图
发表于2026-06-27|算法与数据结构
图结构图 = 点 + 边 点结构1234567891011121314public class Node{ public int value; //点值 public int in; //入度 public int out; //出度 public List<Node> nexts; //从该点能找到邻居 public List<Edge> edges; //能找到邻居的边集 public Node(int v){ value = v; in = 0; out = 0; nexts = new List<Node>(); edges = new List<Edge>(); }} 边结构12345678910public class Edge{ public int weight;//权重 public Node from; //那个点出发 public Nod...
1…14151617
avatar
岁迹
记录游戏客户端开发、Unity 项目、个人 App 岁迹的开发过程。
文章
161
标签
37
分类
21
GitHub
公告
记录游戏客户端开发、项目复盘和个人成长。
最新文章
AI方案12026-08-27
FirstChargeModel.lua2026-08-27
Model 如何读取服务器数据、协议是什么、View 的 Data 包含什么2026-08-27
移动与视角框架2026-08-27
ActivityModel2026-08-27
分类
  • Unity/游戏客户端15
  • 其他笔记2
  • 博客搭建1
  • 图形与引擎25
  • 数据库与持久化9
  • 游戏拆解2
  • 研发手记41
    • Model6
标签
Games101 游戏设计 image 数据持久化 Model 拍脸系统 Unity项目以及安卓构建 UE 策划 Algorithm Unity网络编程基础 UE-C++ C++ 设计模式 GameEngineStudy Java 研发手记 新建文件夹 面试题模拟 系统拆解 新手奖励 黑神话悟空 Hexo Mysql Python Unity常见框架学习 Ugit 笔记 markdown 综合记录 C# 无畏契约 综合笔记 活动开发 Butterfly 游戏算法 快速上手
归档
  • 八月 2026 43
  • 六月 2026 118
网站信息
文章数目 :
161
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By 岁迹框架 Hexo 7.3.0|主题 Butterfly 5.5.5
鄂ICP备2026033623号