zl程序教程

C# 小算法1

  • c# 非阻塞算法_c# – 了解非阻塞线程同步和Thread.MemoryBarrier

    c# 非阻塞算法_c# – 了解非阻塞线程同步和Thread.MemoryBarrier

    大家好,又见面了,我是你们的朋友全栈君。这是Thread.MemoryBarrier()的一个例子class Foo{ int _answer;bool _complete;void A(){ _answer = 123;Thread.MemoryBarrier(); // Barrier 1_complete = true;Thread.MemoryBarrier(); // Barrier

    日期 2023-06-12 10:48:40     
  • C#公历转农历算法详解编程语言

    C#公历转农历算法详解编程语言

    //天干 private static string[] TianGan = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" }; //地支 private static string[] DiZhi = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"

    日期 2023-06-12 10:48:40     
  • C#DES加密算法中向量的作用详细解析

    C#DES加密算法中向量的作用详细解析

    DES一共就有4个参数参与运作:明文、密文、密钥、向量。为了初学者容易理解,可以把4个参数的关系写成:密文=明文+密钥+向量;明文=密文-密钥-向量。为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复,那么这个词加上密钥形成的密文,仍然会重复,这给破解者有机可乘,破解者可以根据重复的内容,猜出是什么词,然而一旦猜对这个词,那么,他就能算出密钥,整篇文章就被破解了!加上向量这个参数以后,每块

    日期 2023-06-12 10:48:40     
  • c#冒泡排序算法(BubbleSort)附实例代码

    c#冒泡排序算法(BubbleSort)附实例代码

    冒泡排序(BubbleSort) 冒泡排序算法的运作如下: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 平均时间复杂度 复制代码代码如下:///&

    日期 2023-06-12 10:48:40     
  • C#彩色图片灰度化算法实例

    C#彩色图片灰度化算法实例

    本文实例讲述了C#彩色图片灰度化实现方法。分享给大家供大家参考。具体方法如下: 主要功能代码如下: 复制代码代码如下:publicstaticBitmapMakeGrayscale(Bitmaporiginal) {    //createablankbitmapthesamesizeasoriginal    BitmapnewBitmap=newBitmap(original.Width,o

    日期 2023-06-12 10:48:40     
  • C#数据结构与算法揭秘11

    C#数据结构与算法揭秘11

    这节,我们说一说,图的基本源代码的源代码实现。具体情况,请听我一一给大家娓娓道来。 图的基本操作用一个接口来表示,为表示图的基本操作,同时给出了顶点类的实现。由于顶点只保存自身信息,所以顶点类 Node T 很简单,里面只有一个字段 data。 顶点的类 Node T 的实现如下所示。 public Class Node T { private T data; //数据域 //

    日期 2023-06-12 10:48:40     
  • 重新整理数据结构与算法(c#)——算法套佛洛伊德算法[三十二]

    重新整理数据结构与算法(c#)——算法套佛洛伊德算法[三十二]

    前言 佛洛伊德算法和迪杰斯特拉算法非常像,但是它求的是任何一个点到其他点之间的距离。 假设有一张图: 转换为矩阵为: 他们的前驱为: 可能上面表述前驱不清楚,举个例子。 看下图: 这第二种图表示,从A 经过A 到B,B点的前驱是A,他们的长度是5,红框中的数表示是A经过的点。 现在A到不了D,A经过A到D就是N,表示无限大。 所以我们需要更新数据,得到最优解。 解法如下: 举个例子,

    日期 2023-06-12 10:48:40     
  • 重新整理数据结构与算法(c#)—— 算法套路二分法[二十四]

    重新整理数据结构与算法(c#)—— 算法套路二分法[二十四]

    前言 前面写过二分法使用的是递归手法,然后该节才有不递归的方式执行。 二分法的时间复杂度为log(2)n。空间复杂度为:1。 正文 代码: static void Main(string[] args) { int[] arr = {1,3,8,10,11,67,100 }; int index= BinarySearch(arr,8); Console.WriteLine("查询出的下标

    日期 2023-06-12 10:48:40     
  • 重新整理数据结构与算法(c#)——算法套佛洛伊德算法[三十二]

    重新整理数据结构与算法(c#)——算法套佛洛伊德算法[三十二]

    前言 佛洛伊德算法和迪杰斯特拉算法非常像,但是它求的是任何一个点到其他点之间的距离。 假设有一张图: 转换为矩阵为: 他们的前驱为: 可能上面表述前驱不清楚,举个例子。 看下图: 这第二种图表示,从A 经过A 到B,B点的前驱是A,他们的长度是5,红框中的数表示是A经过的点。 现在A到不了D,A经过A到D就是N,表示无限大。 所以我们需要更新数据,得到最优解。 解法如下: 举个例子,

    日期 2023-06-12 10:48:40     
  • 重新整理数据结构与算法(c#)——算法套路迪杰斯特拉算法[三十一]

    重新整理数据结构与算法(c#)——算法套路迪杰斯特拉算法[三十一]

    前言 迪杰斯特拉算法 是求最短路径方法的其中一种,这个有什么作用呢? 有一张图: 假设求G点到其他各点的最小路径。 是这样来的。 比如找到了和G点相连接所有点,ABED。这时候确定GA是一定是最短的,为什么这么说呢?G->A和G从别的点到A,一旦G走BED 一定会大于GA,后续就跟不可能大于了。 所以GA为最短,这时候就确定了A。这时候开始从A点开始,找到和A点相连但是没有确定最短的点,

    日期 2023-06-12 10:48:40     
  • 重新整理数据结构与算法(c#)——算法套路普利姆算法[二十九]

    重新整理数据结构与算法(c#)——算法套路普利姆算法[二十九]

    前言 看一个题目: 这个问题就是求最小生成树,是图转换为树的一种方式。 最小生成树概念: 最小生成树简称MST。 1.n个顶点,一定有n-1条边 2.包含全部顶点。 3.图转换为最小生成树,权重之和最小。 解题思路: 假设从a开始为顶点,找到和a相接的最小边。 在图中和a相接的是G,那么选择条。然后找到和A、G相接的最小边,是BG,然后选择BG这条边。 以此类推。 正文 代码:

    日期 2023-06-12 10:48:40     
  • 重新整理数据结构与算法(c#)——算法套路贪心算法[二十八]

    重新整理数据结构与算法(c#)——算法套路贪心算法[二十八]

    前言 贪心算法,记得学的时候还是大学的时候,再次来总结一下吧。 贪心算法并不是指具体的固定代码,而是指一种思路,加入我们每次都选最好的选择,那么很大可能会得到最好的结果。 题目: 正文 思路,加入把k1到k5轮询一遍,发现k1、k2、k3可以覆盖范围最多,随便取一个,假设取k1。 那么剩下广播地区就余下除了k1的需要覆盖。 那么现在广播k1没了,就剩下k2到k5广播。 继续前面的操作,看下这次

    日期 2023-06-12 10:48:40     
  • Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性  应该内置到语言里面

    Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性  应该内置到语言里面

    Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性  应该内置到语言里面   1. 常用算法1 1.1. 目录2 1.2. 定义和用法编辑2 1.3. 语法编辑2 1.4. 提示和注释编辑3 2.&nb

    日期 2023-06-12 10:48:40     
  • .net(c#)版RSA加密算法,拿走不谢

    .net(c#)版RSA加密算法,拿走不谢

    今天有同学对接一个支付平台,涉及到RSA的签名和验签。由于对方是java的sdk,翻成c#语言时,搞了半天也没搞定。网上搜的东西都是各种copy还不解决问题。 碰巧,我之前对接过连连银通的网银支付和代付。连连那边提供了c#版的RSA加密算法,立即破了这位同学的难题。在这里也分享出来,以便大家日后备用。   1 using System; 2 using System.Coll

    日期 2023-06-12 10:48:40     
  • C#,哈夫曼编码(Huffman Code)压缩(Compress )与解压缩(Decompress)算法与源代码

    C#,哈夫曼编码(Huffman Code)压缩(Compress )与解压缩(Decompress)算法与源代码

    原文链接:https://blog.csdn.net/beijinghorn/article/details/124789465 Huffman在1952年根据香农(Shannon)在1948年和范若(Fano)在1949年阐述的这种编码思想提出了一种不定长编码的方法,也称霍夫曼(Huffman)编码。霍夫曼编码的基本方法是先对图像数据扫描一遍,计算出各种像素出现的概率,按概率的大小指定不同长度

    日期 2023-06-12 10:48:40     
  • C#,图像二值化(15)——全局阈值的一维最大熵(1D maxent)算法及源程序

    C#,图像二值化(15)——全局阈值的一维最大熵(1D maxent)算法及源程序

    1、最大熵(maxent) 最大熵(maxent)方法植根于信息理论,并已成功应用于许多领域,包括物理学和自然语言处理。它创建了一个模型,该模型最好地解释了可用数据,但有一个约束,即在没有任何附加信息的情况下,该模型

    日期 2023-06-12 10:48:40     
  • C#,图像二值化(11)——全局阈值的百分比优化算法(Percentage Thresholding)及其源程序

    C#,图像二值化(11)——全局阈值的百分比优化算法(Percentage Thresholding)及其源程序

    Doyle于1962年提出的P-Tile (即P分位数法)可以说是最古老的一种阈值选取方法。该方法根据先验概率来设定阈值,使得二值化后的目标或背景像素比例等于先验概率,该方法简单高效,但是对于先验概率难于估计的图像却无能为力。 对于先验概率不知道的情况下不建意选用此方法,除了已知目标或背景像

    日期 2023-06-12 10:48:40     
  • C#,图像二值化(10)——全局阈值的灰度平均值算法(Gray-Average Thresholding)及其源代码

    C#,图像二值化(10)——全局阈值的灰度平均值算法(Gray-Average Thresholding)及其源代码

    An image histogram is a gray-scale value distribution showing the frequency of occurrence of each gray-level value. For an image size of 1024 × 1024 × 8 bits, the abscissa ran

    日期 2023-06-12 10:48:40     
  • C#,图像二值化(09)——全局阈值的最大熵算法(Maximum Entropy Algorithm)与源程序

    C#,图像二值化(09)——全局阈值的最大熵算法(Maximum Entropy Algorithm)与源程序

    The Max Entropy classifier is a probabilistic classifier which belongs to the class of exponential models. Unlike the Naive Bayes classifier that we discussed in the previous ar

    日期 2023-06-12 10:48:40     
  • C#,核心基础算法——简单易用、稳定可靠的统计学常用算法之原理与源代码

    C#,核心基础算法——简单易用、稳定可靠的统计学常用算法之原理与源代码

    1、统计学常用算法 统计分析科学 在“政治算术”阶段出现的统计与数学的结合趋势逐渐发展形成了“统计分析科学”。 十九世纪末,欧洲大学开设的“国情纪要”或“政治算数”等课程名称逐渐消失,代之而起的是“统计分析科学”课程。当时的“统计分析科学”(Science of statistical analysis&

    日期 2023-06-12 10:48:40     
  • C#,核心基础算法——Google CityHash64位与CityHash128位,散列哈希算法源程序

    C#,核心基础算法——Google CityHash64位与CityHash128位,散列哈希算法源程序

    1、CityHash简史 Google 2011年发布了 CityHash 系列字符串散列算法 。今天发布的有两种算法:CityHash64 与 CityHash128 。它们分别根据字串计算 64 和 128 位的散列值。这些算法不适用于加密,但适合用在散列表等处。  Google 一直在根据其数据中心常用的 CPU

    日期 2023-06-12 10:48:40     
  • C#,图像二值化(01)——二值化算法综述与二十三种算法目录

    C#,图像二值化(01)——二值化算法综述与二十三种算法目录

    图像二值化,就是把彩色(先转为灰色图)最终转为黑白两色图片的计算过程。 看似极其简单,但人们研究了几十年,却始终未达到至臻境界的问题。万幸的是,北京联高软件开发有限公司研究开发了最好的 图像二值化 和 彩色图转灰度图 算法,其效果是远超 OpenCV &

    日期 2023-06-12 10:48:40     
  • C#,彩色图转为灰度图的基本原理、快速算法的源代码及转换效果最好的联高算法之简释

    C#,彩色图转为灰度图的基本原理、快速算法的源代码及转换效果最好的联高算法之简释

    摘要:本文显示了传统彩色图转为灰度图算法的原理,也指出了其中明显的缺陷,使用联高算法可以最大程度地避免这样的缺陷,还原人眼对于彩色图图灰度图的感觉。 上面的彩色图转灰度图算法结果,实际上是有缺陷的。图片中的红色花瓣,上端部分,转为灰度图后与背景几乎无法区

    日期 2023-06-12 10:48:40     
  • C#,人工智能,机器人路径规划(Robotics Pathfinding)DStarLite(D* Lite Algorithm)优化算法与C#源程序

    C#,人工智能,机器人路径规划(Robotics Pathfinding)DStarLite(D* Lite Algorithm)优化算法与C#源程序

     文章与图片都是抄的,程序可是一脚一脚撸的。 一、DStarLite算法摘要 Dstar Lite是一种复杂的寻路算法,在机器人和游戏设计等许多领域都有实际应用。该算法能够解决最短路径问题,还集成了其他功能,如路径重新规划和路径校正。通过使用计算机模拟和分析该算法,我们测试了该算

    日期 2023-06-12 10:48:40     
  • C#,图论与图算法,最短路径的SPFA(Shortest Path Faster Algorithm)算法与源程序

    C#,图论与图算法,最短路径的SPFA(Shortest Path Faster Algorithm)算法与源程序

      一、最短路径快速算法(SPFA) 最短路径快速算法(SPFA)是Bellman–Ford算法的改进,该算法在加权有向图中计算单源最短路径。该算法被认为可以很好地处理随机稀疏图,尤其适用于包含负权重边的图。 SPFA算法的功劳归于段凡丁。   &#

    日期 2023-06-12 10:48:40     
  • C#,图论与图算法,搜索无向无权连通图(Undirected Unweighted Graph)的简单环(Simple Cycle)的算法与源代码

    C#,图论与图算法,搜索无向无权连通图(Undirected Unweighted Graph)的简单环(Simple Cycle)的算法与源代码

    一、无向无权连通图 给定一个无向无权连通图,在该图中找到一个简单的环(如果存在)。 简单循环: 简单循环是图中没有重复顶点的循环(起点和终点顶点除外)。 基本上,如果一个周期不能分解为两个或两个以上的周期,那么它就是一个简单的周期

    日期 2023-06-12 10:48:40     
  • C#,图论与图算法,有向无环图(DAG,Directed Acyclic Graph)的最短路径(Shortest Path)算法与源代码

    C#,图论与图算法,有向无环图(DAG,Directed Acyclic Graph)的最短路径(Shortest Path)算法与源代码

    给定一个加权有向无环图和图中的一个源顶点,求从给定源到所有其他顶点的最短路径。 对于一般的加权图,我们可以使用Bellman-Ford算法计算O(VE)时间内的单源最短距离。对于没有负权重的图,我们可以更好地使用Dijkstra算法计算O(E+VLogV&

    日期 2023-06-12 10:48:40     
  • C#,图论与图算法,二分图(Bipartite Graph)最佳二分匹配(Maximum Bipartite Matching)算法与源程序

    C#,图论与图算法,二分图(Bipartite Graph)最佳二分匹配(Maximum Bipartite Matching)算法与源程序

    二部图中的匹配是一组边的选择方式,使两条边不共享一个端点。最大匹配是最大大小(最大边数)的匹配。在最大匹配中,如果向其添加任何边,则该边不再是匹配。对于给定的二部图,可以有多个最大匹配。 我们为什么在乎? 现实世界中有许多问题可以形成为二部匹配。例

    日期 2023-06-12 10:48:40     
  • C#,图论与图算法,图颜色问题(MCP,M-coloring problem)的回溯(Backtracking)算法与源代码

    C#,图论与图算法,图颜色问题(MCP,M-coloring problem)的回溯(Backtracking)算法与源代码

     给定一个无向图和一个数字m,确定该图是否最多可以使用m种颜色着色,以确保该图的两个相邻顶点没有使用相同的颜色着色。这里,图的着色意味着将颜色分配给所有顶点。 输入: 二维数组图[V][V],其中V是图中的顶点数,图[V][V]是图的邻接矩阵表示。如果从i到j有一条直边

    日期 2023-06-12 10:48:40     
  • C#,骑士游历问题(Knight‘s Tour Problem)的恩斯多夫(Warnsdorff‘s Algorithm)算法与源代码

    C#,骑士游历问题(Knight‘s Tour Problem)的恩斯多夫(Warnsdorff‘s Algorithm)算法与源代码

      古往今来,对国际象棋及其战略游戏的迷恋鼓励了许多类型的复杂和分析性谜题。其中之一是《骑士之旅》,在过去的两个世纪里,它吸引了数学和游戏解决方案领域的一些最伟大的头脑。 问题涉及在标准大小的棋盘上的任何位置放置一个棋子骑士,该棋盘由8X8配置的64个方块组成,然后将骑士从一个方

    日期 2023-06-12 10:48:40     
  • C#,图论与图算法,输出无向图“欧拉路径”的弗勒里(Fleury Algorithm)算法和源程序

    C#,图论与图算法,输出无向图“欧拉路径”的弗勒里(Fleury Algorithm)算法和源程序

    欧拉路径是图中每一条边只访问一次的路径。欧拉回路是在同一顶点上开始和结束的欧拉路径。 这里展示一种输出欧拉路径或回路的算法。 以下是Fleury用于打印欧拉轨迹或循环的算法(源)。 1、确保图形有0个或2个奇数顶点。2、如果有0个奇数顶点,则从任意位置开始。如果有两个奇数顶点,请从其

    日期 2023-06-12 10:48:40