随笔分类 -  编程及算法

摘要:算法一:A*寻路初探译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫无疑问,作者用形象的描述,简洁诙谐的语言由浅入深的讲述了这一神奇的算法,相信每个读过的人都会对此有所认识。原文链接:http://www.gamedev.net/reference/articles/article2003.asp以下是翻译的正文。(由 阅读全文
posted @ 2013-07-26 10:44 蓬莱仙羽 阅读(1418) 评论(1) 推荐(0)
摘要:题目要求:父亲往盘子里放水果(苹果和香蕉),儿子只能取苹果,女儿只能取香蕉,使用信号量的线程同步实验实现该程序。源码: 1 #include <stdio.h> 2 #include <string.h> 3 #include <semaphore.h> 4 #include <pthread.h> 5 #include <sys/types.h> 6 #include <unistd.h> 7 sem_t sp; //定义信号量 8 sem_t sa; //父亲放香蕉,女儿取水果(香蕉) 9 sem_t so; //父亲 阅读全文
posted @ 2013-05-23 11:43 蓬莱仙羽 阅读(388) 评论(0) 推荐(1)
摘要:朱明放1,2,叶飞跃1,2,丁小未2(1.江苏技术师范学院云计算与智能信息处理常州市重点实验室,江苏常州,213001;2.江苏技术师范学院计算机学院,江苏常州,213001)摘要:任务指派问题是典型的组合优化问题,得到了广泛的研究。基于基因表达式编程的思想,设计了任务指派问题求解的算法,并用C#实现了该算法。结合人力资源任务分配的实例进行了实验分析和研究,获得了人员与岗位配置的最优解。实验表明算法设计是正确性和有效性,因而为企业人员安排提供参考依据。关键词:TAP问题;基因表达式编程;逆串算子中图分类号: TP301.6文献标识码: AThe Design and Implementatio 阅读全文
posted @ 2012-12-19 00:05 蓬莱仙羽 阅读(412) 评论(0) 推荐(0)
摘要:近六周的课程设计,编了一个四百行的汇编程序,编的过程很不顺利,遇到种种意想不到的困难,但最终能够实现,可谓欣喜若狂,这期间学到了好多好多,遇到问题怎么精下心来解决,同时对汇编的理解也更加深刻了。所谓TAP任务指派问题,简单来说我实现的是有六个人,有六项任务,没个人做每一项任务的所消耗的时间代价不同,有一个六阶参考矩阵代价表,然后将六个员工编号为123456,固定不变,接下来随机产生几种任务的排序方案,假设任务命名为ABCDEF,可能随机产生一种方案为EDCABF,这意思就是第一个人做E任务,第二个人做D任务依次下去,最后计算每一种方案的总代价,然后计算每一种方案的带价总和,然和输出最优(代价值 阅读全文
posted @ 2012-12-18 23:46 蓬莱仙羽 阅读(187) 评论(0) 推荐(0)
摘要:class LinkList{private class Node//创建节点类{public Object item;public Node next;}private Node head;private Node slider;private int count;public LinkList()//构造方法{clear();}public void clear()//清空链表{head = null;slider = null;count = 0;}public boolean isEmpty()//判断链表是否为空{return head==null;}public void goto 阅读全文
posted @ 2012-12-17 15:16 蓬莱仙羽 阅读(155) 评论(0) 推荐(0)
摘要:我们一般只是学过C/C++的数据结构,想必学C#的学生会疑惑,为什么C#没有数据结构呢,那我来告诉你,其实C#也是有数据结构的,只不过我们不了解罢了,经过我半天的编程,终于把C#的数据结构写出来了,也大大增加了我对数据结构的理解,在这里提供出来,共享学习,共同进步!using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 控制台程序{ class CSharp数据结构 { public static void Main(string[] args) { Console. 阅读全文
posted @ 2012-12-16 12:17 蓬莱仙羽 阅读(270) 评论(0) 推荐(0)
摘要:当我们要编程的时候要实现两个数的简单交换,要求必须调用子函数来交换,咋一看挺简单,就直接交换一下或许就能实现,但真正实现起来或许我们会碰到一定的问题,当运行结果的时候,我们有可能会惊讶的发现怎么两个数还没有交换呢,其实这是我们对函数参数是值类型还是应用类型还不够了解,发生错误就是因为我们使用的是值传递,接下来我通过两种语言来实现这一方法,首先是c语言实现C代码实现:#include <stdio.h> void swap(int* a,int* b) { int p; p=*a; *a=*b; *b=p; } int main() { int a=1; int b=2; pr... 阅读全文
posted @ 2012-12-07 12:58 蓬莱仙羽 阅读(281) 评论(0) 推荐(0)
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.Net.Sockets;namespace SocketTest{ class Program { static void Main(string[] args) { int length; byte[] bytes = new byte[1024]; //创建一个Socket对象 Socket socketSend = new Socket(AddressFamily.I 阅读全文
posted @ 2012-10-13 16:58 蓬莱仙羽 阅读(173) 评论(0) 推荐(0)
摘要:protected int[] bubbleUp(int[] Array)//冒泡排序 { for (int i = 0; i < Array.Length-1; i++)//要冒泡次数 { for (int j = 0; j < Array.Length-1-i; j++)//每次冒泡具体比较过程 { if (Array[j] < Array[j + 1]) { int temp = Array[j + 1]; Array[j + 1] = Array[j]; Array[j] = temp; } } } return Array; } public int[] Selec 阅读全文
posted @ 2012-06-26 23:40 蓬莱仙羽 阅读(137) 评论(0) 推荐(0)
摘要://string Str1 = "友情相逢"; //string Str2 = "用一生爱你"; //#region char的使用 //char a = 'a'; //Console.WriteLine("IsLetter方法判断a是否为字母:{0}", Char.IsLetter(a)); //Console.WriteLine("IsDigit方法判断a是否为数字:{0}", Char.IsDigit(a)); //Console.WriteLine("IsLower方法判断a是否为 阅读全文
posted @ 2012-06-26 20:44 蓬莱仙羽 阅读(152) 评论(0) 推荐(0)