
算法
文章平均质量分 67
pengfeixc
There are only 10 types of people in the world. Those who is getting better every day and those who is getting worse every day.
展开
-
高效率种子填充算法
高效率种子填充算法文章同时发布于:http://pengfeixc.com/blog/60d06420e97367196dce3efb最近写了一个画板小程序,为了实现画板的填充功能,研究了一下图形学填充算法。我在网上查找了大量的资料,最终找到了一个效率很高的填充算法。可以在minicode看到我的画板程序,测试下填充功能的速度。下面我将讲述我的算法实现过程。一. 种子填充算法(flood fill or seed fill)网上有很多讲解种子填充算法的,大家一搜就知道有4联通的方式和8联通的方式。原创 2021-06-21 18:12:55 · 1214 阅读 · 1 评论 -
单链表——逆向打印单链表
从尾到头打印链表文章转载于:个人网站。单链表的方向是单向的,如果要获得某个结点,必须从头结点开始向尾部查询,直到找到该结点。所以如果题目是从头到尾打印链表,那么就很简单,只需要从头结点依次循环打印即可。一. 思路我们可以利用栈的后进先出的特性,来解决这个题目。还是从头结点遍历,每到一个结点,将该结点的值存储到数组中,直至遍历完整个链表。最后我们得到了一个按顺序存储结点值得数组。我们只需要从尾部开始向头部遍历数组,即可打印出正确的结果,这就是典型的后进先出的应用。二. 解题根据上面的思路,很容易的原创 2021-04-16 16:31:22 · 214 阅读 · 0 评论 -
数组—二维数组中的查找
在二维数组中查找指定值转载于王鹏飞的个人网站。一.数组数组是一种最简单的数据结构,在内存中占据一块连续的存储结构,可以通过数组下标进行访问。对比链表,其具有访问速度快,时间效率高的特点。但是数组需要预先在内存中分配存储空间,因此数组的空间效率不是很好,经常会有空间内有得到充分的利用。二.二维数组中的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如,有如下数组a,需要在里原创 2021-04-08 11:33:28 · 658 阅读 · 0 评论 -
递归—台阶问题
递归文章转载于个人博客。一. 递归的含义递归(英语:Recursion),又译为递回,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。维基百科有几个语言例子,我觉得挺有意思:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’”一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是原创 2021-04-02 14:10:16 · 1512 阅读 · 0 评论 -
求单链表中倒数第K个结点
求链表中倒数第K个结点转载于个人网站。一.单向链表维基百科中国是这样描述的:单向链表(又名单链表、线性链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过从头部开始,依序往下读取。从描述中,我们能知道单向链表的方向是单一的,也就是我们只能从第一个结点索引到第二个结点,无法从第二个结点索引到第一个结点。单链表在内存中是一组地址任意的存储单元,与数组不同,单链表是通过指针索引,每个结点除了存储当前结点的值,还会存储下一个结点的指针,尾结点的指针为空。二.分析因为单链表访问顺原创 2021-04-01 21:19:58 · 285 阅读 · 0 评论 -
将中文形式的数字字符串转换为对应的整数,如“一亿三千五百四十”转换为100003540。
今天工作,遇到了这个问题:需要将字符串转换为对应的数字。所以就写下了这个算法。自己测试了一些,没有问题。代码如下。算法利用了递归的方法。传入字符串前应先检查是否可以转换为中文字符串。`/// /// ConvertNumstrToInt辅助函数:转换字符串为数值,用到的比较。/// private static int staticCompareZh_NumChar(char ch...原创 2019-01-11 16:30:46 · 2000 阅读 · 0 评论 -
将整数转换成对应的中文数字字符串,如1444变为“一千四百四十四”
与之前中文转换成数字相反。数字转换成中文比较简单。直接看代码。 public static string ConvertIntToChineseStr(int number) { string res = ""; string numStr = Convert.ToString(number); bool ...原创 2019-01-24 16:20:28 · 1353 阅读 · 0 评论