自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 CODINGRAPH™——自动生成程序流程图的辅助编程软件

《CODINGRAPH》软件是北京联高软件开发有限公司出品的、高级程序员专用的辅助编程工具,用于帮助程序员直观了解代码、逻辑、流程与变量的使用等等。《CODINGRAPH》可作为Visual Studio,Visual Studio Code等IDE的同步工具以提高程序开发效率,有助于显著减少代码的逻辑错误、变量使用错误等IDE无法发现与提示的致命错误。《CODINGRAPH》的逻辑与流程的直观展示、动画演示更是出奇的精彩。

2024-08-06 16:05:16 153

原创 一款简单,精巧,实用的文件夹时间整理工具FolderTime

一、文件夹LastWriteTime我们在Windows资源管理器中看到的文件夹时间,是什么时间呢?按微软的解释,应该是该文件夹的最后写入(修改)的时间,称为 LastWriteTime。DirectoryInfo root = new DirectoryInfo(@"c\root");DateTime ft = root.LastWriteTime;LastWriteTime 是 DirectoryInfo 的 get set 的属性;既可以获取 文件夹的最后写入时间,也可以

2024-04-02 14:55:50 1295 3

原创 一款简单,精巧,实用的按类型删除指定文件的工具软件

程序员或非程序员每天需处理大量的文件,其中有很多实际上不需要长期保存或每天备份的垃圾级别的文件,因而需要一个工具能够按类别一次性删除这些文件。(1)搜索并统计、显示指定文件夹及其全部各级子目录内文档的数量,最小最大字节数,总字节数数;(3)一键删除选定类型的文件,DFS深度递归模式自动检索全部各级别子目录;按文件类型删除指定文件夹及其全部各级子目录内文档的工具软件;(2)简便方式选择以指定删除的文件类型;(6)比较强的权限与容错机制;(5)能适配空后缀类型文件;(4)可选定删除空文件夹;

2024-03-31 08:56:29 705

原创 一款跨空间、跨平台、能分享、能搜索常用文件内容、能识别图片文字的全能搜索工具

多可文件快搜安装简单,无需复杂配置。安装在本机后,不仅能搜索本机文件,还可以搜索局域网内共享文件。它可以搜索NAS(SMB协议)上的文件。就连存储在阿里云OSS里的文件,也能轻松搜索到。它还支持IPv6,使用户可以快速安全地搜索网络中的文件。

2023-12-20 10:50:51 1745 1

原创 简述专业而非附属的文档管理系统的核心技术与难点

概述网上有非常多的“文档管理系统”,随便搜索就能得到超过1000种大大小小的软件或系统,谓之“铺天盖地”也不为过。其中绝大多数是近几年用各类开源的所谓组件、框架搭起来的七拼八凑的产物,其花哨无比的言辞与看似不错的截图,会造成很多用户茫然,掏钱购买后基本上都感觉交了智商税。那么到底什么样的系统才能称为“文档管理系统”呢?怎么选择比较安全呢?先回答第二个问题:世界上任何一个能用的软件至少需要5年的基本成长期。所以,选购的时候,5年以内的软件,就不要考虑了。后面是几个基本概念。文档管理也是各类信息系统

2023-12-20 10:50:40 2474 1

C/C++,数字序列-查找第n个鲍姆甜序列(Baum Sweet Sequence)的计算方法与源程序

C/C++,数字序列——查找第n个鲍姆甜序列(Baum Sweet Sequence)的计算方法与源程序

2024-05-14

C#图像处理OpenCV开发指南(CVStar,07)-通用滤波(Filter2D)的实例代码

C#图像处理OpenCV开发指南(CVStar,07)——通用滤波(Filter2D)的实例代码

2024-05-14

C/C++,组合算法-K人活动选择问题(Activity-Selection-Problem)的源程序

C/C++,组合算法——K人活动选择问题(Activity-Selection-Problem)的源程序 1 活动选择问题 Activity-Selection-Problem with k persons 给定两个大小为 N 的数组S[]和E[]表示商店的开始和结束时间,以及一个整数值 K 表示人数, 任务是找出如果他们基于以下条件最佳地访问每个商店,他们总共可以访问的商店的最大数量: (1)一家商店只能被一个人光顾; (2)一个人不能去另一家商店,如果它的时间与它冲突; Activity Selection problem is a approach of selecting non-conflicting tasks based on start and end time and can be solved in O(N logN) time using a simple greedy approach. Modifications of this problem are complex and interesting which we will explore as wel

2024-05-14

C#,数值计算-计算实对称矩阵所有特征值和特征向量的雅可比(Jacobi)方法与源程序

C#,数值计算——计算实对称矩阵所有特征值和特征向量的雅可比(Jacobi)方法与源程序

2024-05-14

C#图像处理OpenCV开发指南(CVStar,08)-边缘识别之Sobel算法的实例代码

C#图像处理OpenCV开发指南(CVStar,08)——边缘识别之Sobel算法的实例代码 1 边缘识别Sobel算法 边缘识别的作用也是提取一些特征点(边缘点)。 关于Sobel的文章铺天盖地,就不多价绍了。 1.1 函数原型 void Cv2.Sobel(src,dst,ddepth,dx,dy,ksize,scale,delta,borderType) 1.2 参数说明 src 代表原始图像。 dst 代表目标图像。 ddepth 代表输出图像的深度。CV_16S dx 代表x方向上的求导阶数。 dy 代表y方向上的求导阶数。 ksize 代表Sobel核的大小。该值为-1时,则会使用 Scharr 算子进行运算。 scale 代表计算导数值时所采用的缩放因子,默认情况下该值是1,是没有缩放的。 delta 代表加在目标图像dst上的值,该值是可选的,默认为0。 borderType 代表边界样式。

2024-05-14

C/C++,优化算法-使用遗传算法的旅行商问题(traveling-salesman-problem)的源程序

C/C++,优化算法——使用遗传算法的旅行商问题(traveling-salesman-problem)的源程序

2024-05-14

C/C++,图算法-布伦特循环检测算法(Brent‘s cycle detection algorithm)的源程序

C/C++,图算法——布伦特循环检测算法(Brent‘s cycle detection algorithm)的源程序

2024-05-14

C/C++,数值计算-快速幂(Quick Pow)的几种算法源代码

C/C++,数值计算——快速幂(Quick Pow)的几种算法源代码

2024-05-14

C#,数值计算,计算实非对称矩阵的所有特征值和特征向量,简化为Hes-senberg形式,然后进行QR迭代

C#,数值计算,计算实非对称矩阵的所有特征值和特征向量,简化为Hes-senberg形式,然后进行QR迭代

2024-05-14

C#图像处理OpenCV开发指南(CVStar,09)-边缘识别之Scharr算法的实例代码

C#图像处理OpenCV开发指南(CVStar,09)——边缘识别之Scharr算法的实例代码 1 边缘识别之Scharr算法 算法文章很多,不再论述。 1.1 函数原型 void Cv2.Scharr(src,dst,ddepth,dx,dy,scale,delta,borderType) 1.2 参数说明 src 代表原始图像。 dst 代表目标图像。 ddepth 代表输出图像的深度。CV_16S dx 代表x方向上的求导阶数。 dy 代表y方向上的求导阶数。 scale 代表计算导数值时所采用的缩放因子,默认情况下该值是1,是没有缩放的。 delta 代表加在目标图像dst上的值,该值是可选的,默认为0。 borderType 代表边界样式。

2024-05-14

C/C++,树算法-二叉树(BTree)的基本数据结构

C/C++,树算法——二叉树(BTree)的基本数据结构

2024-05-14

C/C++,数字序列-计算伯努利数(Bernoulli Number)的计算方法与源程序

C/C++,数字序列——计算伯努利数(Bernoulli Number)的计算方法与源程序

2024-05-14

C/C++,树算法-二叉树的插入(Insert)算法之源程序

C/C++,树算法——二叉树的插入(Insert)算法之源程序

2024-05-14

C/C++,树算法-二叉树(BTree)的基本数据结构

C/C++,树算法——二叉树(BTree)的基本数据结构

2024-05-14

C/C++,贪婪算法-博鲁夫卡算法(Boruvka)的计算方法与源程序

C/C++,贪婪算法——博鲁夫卡算法(Boruvka)的计算方法与源程序

2024-05-14

C/C++,优化算法-双离子推销员问题(Bitonic Travelling Salesman Problem)的计算方法与源

C/C++,优化算法——双离子推销员问题(Bitonic Travelling Salesman Problem)的计算方法与源代码

2024-05-14

C#,图论与图算法,图最短路径的迪杰斯特拉(Dijkstra)算法与源代码

C#,图论与图算法,图最短路径的迪杰斯特拉(Dijkstra)算法与源代码 1 图的最短路径 给定一个图和图中的源顶点,查找从源到给定图中所有顶点的最短路径。 Dijkstra的算法与Prim的最小生成树算法非常相似。像Prim的MST一样,我们生成一个以给定源为根的SPT(最短路径树)。我们维护两个集合,一个集合包含最短路径树中包含的顶点,另一个集合包含最短路径树中尚未包含的顶点。在算法的每个步骤中,我们都会找到另一个集合(尚未包含的集合)中的顶点,该顶点与源之间的距离最小。 下面是Dijkstra算法中使用的详细步骤,用于查找从单个源顶点到给定图中所有其他顶点的最短路径。 2 算法 1) 创建一个集sptSet(最短路径树集),用于跟踪最短路径树中包含的顶点,即计算并最终确定其与源的最小距离。最初,此集合为空。 2) 为输入图形中的所有顶点指定距离值。将所有距离值初始化为无穷大。将源顶点的距离值指定为0,以便首先拾取该顶点。 3) 而sptSet不包括所有顶点 ….a) 拾取sptSet中不存在且具有最小距离值的顶点u。 ….b) 包括u到sptSet。 ….c)

2024-05-14

C/C++,图算法-Dinic最大流量算法

C/C++,图算法——Dinic最大流量算法

2024-05-14

C/C++,图算法-有向图的海尔霍尔泽(Hierholzer)算法及其源程序

C/C++,图算法——有向图的海尔霍尔泽(Hierholzer)算法及其源程序

2024-05-14

C/C++,哈夫曼编码的C源程序

C/C++,哈夫曼编码的C源程序

2024-05-14

C/C++,迭代深化搜索(IDS)或迭代深化深度优先搜索(IDDFS)的源程序

C/C++,迭代深化搜索(IDS)或迭代深化深度优先搜索(IDDFS)的源程序

2024-05-14

C/C++,图形学-朱莉娅分形集(Julia Fractal)的计算方法与源程序

C/C++,图形学——朱莉娅分形集(Julia Fractal)的计算方法与源程序

2024-05-14

C/C++,树算法-K叉树(k-dimensional-tree)的计算方法与源代码

C/C++,树算法——K叉树(k-dimensional-tree)的计算方法与源代码

2024-05-14

C/C++,树算法-最小K叉树的计算方法与源程序

C/C++,树算法——最小K叉树的计算方法与源程序

2024-05-14

C/C++,树算法-K叉树的修剪(删除)算法及其源程序

C/C++,树算法——K叉树的修剪(删除)算法及其源程序

2024-05-14

C/C++,图算法-使用K近邻算法查找未知点组的计算方法与源程序

C/C++,图算法——使用K近邻算法查找未知点组的计算方法与源程序

2024-05-14

C/C++,为给定文本构建LCP阵列的计算方法与源程序

C/C++,为给定文本构建LCP阵列的计算方法与源程序

2024-05-14

C/C++,判断索引超出了数组的界限的Sunday算法及其源代码

C/C++,判断索引超出了数组的界限的Sunday算法及其源代码

2024-05-14

C/C++,动态 DP 问题的计算方法与源程序

C/C++,动态 DP 问题的计算方法与源程序

2024-05-14

C/C++,FEISTDLIB的部分源代码

C/C++,FEISTDLIB的部分源代码

2024-05-14

C#,电话数字键盘问题(Mobile Numeric Keypad problem)的算法与源代码

C#,电话数字键盘问题(Mobile Numeric Keypad problem)的算法与源代码 电话数字键盘问题 提供移动数字键盘。您只能按向上、向左、向右或向下至当前按钮的按钮。不允许您按最下面一行的角点按钮(即.*和#)。 移动键盘 给定一个数N,找出给定长度的可能数。 示例: 对于N=1,可能的数字数为10(0、1、2、3、…、9) 对于N=2,可能的数字数为36 可能的数字:00、08、11、12、14、22、21、23、25等等。 如果我们从0开始,有效数字将是00、08(计数:2) 如果我们从1开始,有效数字将是11、12、14(计数:3) 如果我们从2开始,有效数字将是22、21、23、25(计数:4) 如果我们从3开始,有效数字将是33、32、36(计数:3) 如果我们从4开始,有效数字将是44,41,45,47(计数:4) 如果我们从5开始,有效数字将是55,54,52,56,58(计数:5)

2024-05-14

C#,布尔可满足性问题(Boolean Satisfiability Problem)算法与源代码

C#,布尔可满足性问题(Boolean Satisfiability Problem)算法与源代码 1 布尔可满足性问题 布尔可满足性问题 布尔可满足性或简单的SAT是确定布尔公式是可满足还是不可满足的问题。 可满足:如果布尔变量可以赋值,使得公式为真,那么我们说公式是可满足的。 不可满足:如果无法指定此类值,则我们称公式不可满足。 2 合取范式(CNF)或也称为和积(POS) 为了更好地理解这一点,首先让我们看看什么是合取范式(CNF)或也称为和积(POS)。 CNF:CNF是子句的连词(AND),其中每个子句都是析取(OR)。 现在,2-SAT将SAT问题限制为仅表示为CNF的布尔公式,每个子句只有2个项(也称为2-CNF)。 示例:F=(A\u 1\vee B\u 1)\wedge(A\u 2\vee B\u 2)\wedge(A\u 3\vee B\u 3)\wedge。。。。。。。\楔块(A\u m\vee B\u m) 因此,2-可满足性问题可以表述为: 给定每个子句只有2个项的CNF,是否可以将这些值分配给变量,以使CNF为真?

2024-04-25

C#,回文分割问题(Palindrome Partitioning Problem)算法与源代码

C#,回文分割问题(Palindrome Partitioning Problem)算法与源代码 1 回文串 “回文串”是一个正读和反读都一样的字符串,初始化标志flag=true,比如“level”或者“noon”等等就是回文串。 2 回文分割问题 给定一个字符串,如果该字符串的每个子字符串都是回文的,那么该字符串的分区就是回文分区。 例如,“aba | b | bbabb | a | b | aba”是“abababababa”的回文分区。 确定给定字符串的回文分区所需的最少切割。 例如,“ababababababa”至少需要3次切割。 这三个分段是“a | babbab | b | ababa”。 如果字符串是回文,则至少需要0个分段。 如果一个长度为n的字符串包含所有不同的字符,则至少需要n-1个分段。

2024-04-25

C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码

C#,煎饼排序问题(Pancake Sorting Problem)算法与源代码 煎饼排序问题 给定一个未排序的数组,任务是对给定数组进行排序。您只能在阵列上执行以下操作。 翻转(arr,i):将数组从0反转为i 示例: 输入:arr[]={23、10、20、11、12、6、7} 输出:{6、7、10、11、12、20、23} 输入:arr[]={0,1,1,0,0} 输出:{0,0,0,1,1} 方法:与传统排序算法不同,传统排序算法试图以尽可能少的比较进行排序,其目标是以尽可能少的反转对序列进行排序。 这个想法是做一些类似于选择排序的事情。我们一个接一个地将最大元素放在末尾,并将当前数组的大小减少一个。 以下是详细步骤。设给定数组为arr[],数组大小为n。 对每个curr_size执行以下操作: (1)查找arr[0到curr_szie-1]中最大元素的索引。让索引为“mi”; (2)翻转(arr,mi); (3)翻转(arr,curr_size–1);

2024-04-25

C#,动态规划的集合划分问题(DP Partition problem)算法与源代码

C#,动态规划的集合划分问题(DP Partition problem)算法与源代码 1 动态规划问题中的划分问题 动态规划问题中的划分问题是确定一个给定的集是否可以划分为两个子集,使得两个子集中的元素之和相同。 动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、工业生产、军事以及自动化控制等领域,并在背包问题、生产经营问题、资金管理问题、资源分配问题、最短路径问题和复杂系统可靠性问题等中取得了显著的效果。 2 应用示例 动态规划问题中的划分问题示例: arr[]={1,5,11,5} 输出:真 数组可以划分为{1、5、5}和{11} arr[]={1,5,3} 输出:false 数组不能划分为等和集。 以下是解决此问题的两个主要步骤: 1) 计算数组的和。如果sum为奇数,则不可能有两个sum相等的子集,因此返回false。 2) 如果数组元素

2024-04-25

C#,排列组合的堆生成法(Heap’s Algorithm for generating permutations)算法与源代码

C#,排列组合的堆生成法(Heap’s Algorithm for generating permutations)算法与源代码 排列组合的堆生成法 堆生成算法用于生成n个对象的所有组合。其思想是通过选择一对要交换的元素,在不干扰其他n-2元素的情况下,从先前的组合生成每个组合。 下面是生成n个给定数的所有组合的示例。 示例: 输入:1 2 3 输出:1 2 3 2 1 3 3 1 2 1 3 2 2 3 1 3 2 1算法 算法生成(n-1)!前n-1个元素的排列,与其中每个元素相邻的最后一个元素。这将生成以最后一个元素结尾的所有置换。 如果n为奇数,则交换第一个和最后一个元素,如果n为偶数,则交换第i个元素(i是从0开始的计数器)和最后一个元素,并重复上述算法,直到i小于n。 在每次迭代中,算法将生成以当前最后一个元素结尾的所有组合。

2024-04-25

C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码

C#,老鼠迷宫问题的回溯法求解(Rat in a Maze)算法与源代码 老鼠迷宫问题 迷宫中的老鼠,作为另一个可以使用回溯解决的示例问题。 迷宫以块的N×N二进制矩阵给出,其中源块是最左上方的块,即迷宫[0][0],目标块是最右下方的块,即迷宫[N-1][N-1]。老鼠从源头开始,必须到达目的地。老鼠只能朝两个方向移动:向前和向下。 在迷宫矩阵中,0表示该块是死胡同,1表示该块可用于从源到目标的路径。请注意,这是典型迷宫问题的简单版本。例如,更复杂的版本可以是rat可以在4个方向上移动,而更复杂的版本可以具有有限的移动次数。老鼠迷宫问题的回溯法求解 (1)创建一个解决方案矩阵,最初用0填充。 (2)创建一个递归函数,该函数采用初始矩阵、输出矩阵和rat(i,j)的位置。 (3)如果位置超出矩阵或位置无效,则返回。 (4)将位置输出[i][j]标记为1,并检查当前位置是否为目标位置。如果到达目的地,打印输出矩阵并返回。 (5)递归调用位置(i+1,j)和(i,j+1)。 (6)取消标记位置(i,j),即输出[i][j]=0。

2024-04-25

C#,数值计算,解微分方程的龙格-库塔二阶方法与源代码

C#,数值计算,解微分方程的龙格-库塔二阶方法与源代码 微分方程 含有导数或微分的方程称为微分方程,未知函数为一元函数的微分方程称为常微分方程。 微分方程的阶数 微分方程中导数或微分的最高阶数称为微分方程的阶数。 微分方程的解 使得微分方程成立的函数称为微分方程的解。 微分方程的特解 微分方程的不含任意常数的解称为微分方程的特解。 微分方程的通解 所含相互独立的任意常数的个数与微分方程的阶数相等的微分方程的解称为微分方程的通解。

2024-04-25

C#,数值计算,用割线法(Secant Method)求方程根的算法与源代码

C#,数值计算,用割线法(Secant Method)求方程根的算法与源代码 割线法 割线法用于求方程 f(x) = 0 的根。它是从根的两个不同估计 x1 和 x2 开始的。这是一个迭代过程,包括对根的线性插值。如果两个中间值之间的差值小于收敛因子,则迭代停止。 亦称弦截法,又称线性插值法.一种迭代法.指用割线近似曲线求方程根的2步迭代法.此法用通过点(xk,f(xk))及(xk-1,f(xk-1))的割线 近似曲线y=f(x),用割线的根作为方程根的新近似xk+1,从而得到方程求根的割线法迭代程序 ( k=1,2,…,n), 其中x0,x1为初始近似.若f(x)在根x*的邻域内有二阶连续导数,且f′(x*)≠0,则当x0,x1在x*邻域内时,割线法收敛于x*,其收敛阶为

2024-04-25

C#,蛇梯问题(Snake and Ladder Problem)的算法与源代码

C#,蛇梯问题(Snake and Ladder Problem)的算法与源代码 蛇梯问题 Snake and Ladder Problem 给定一个蛇梯板,找出从源单元格或第一个单元格到达目标单元格或最后一个单元格所需的最小掷骰次数。基本上,玩家可以完全控制掷骰子的结果,并希望找出到达最后一个单元格所需的最小掷骰次数。 如果玩家到达的牢房是梯子的底部,玩家必须爬上梯子,如果到达的牢房是蛇的嘴,则必须在不掷骰子的情况下下下到蛇的尾巴。 例如,考虑所示的电路板,从单元1到达单元30所需的最小掷骰子次数为3。 以下是步骤: a) 首先掷两个骰子到3号牢房,然后爬到22号牢房 b) 然后掷6到28。 c) 最终通过2达到30。 还有其他解决方案,如(2,2,6),(2,4,4),(2,3,5)。。等 其思想是将给定的蛇梯板视为顶点数等于板中单元数的有向图。问题归结为在图中寻找最短路径。如果接下来的6个顶点没有蛇或阶梯,则图的每个顶点都有一条到下6个顶点的边。如果接下来的六个顶点中有任何一个具有蛇或阶梯,则当前顶点的边将到达阶梯的顶部或蛇的尾部。由于所有边的权重相等,我们可以

2024-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除