Archive for the ‘program’ Category

豆瓣url脑图分析。

07月 6th, 2010
豆瓣url分析图
豆瓣url分析图

关于豆瓣的一个url分析,保存一份,供以后在分析

01背包问题-回溯法-C语言实现。

05月 14th, 2010

01背包问题-回溯法

#include <stdio .h>
#include <stdlib .h>
 
int n=5,c=10;
int value[5]={6,3,5,4,6};
int weight[5]={2,2,6,5,4};
int cv[5]={0,0,0,0,0};
int bv[5]={0,0,0,0,0};
int cw=0;
int curv = 0 ;
int bestv =0 ;
void output()
{
   int i =0;
   for(i; i<n ; i++)
     printf("%d ",bv[i]);
   printf("%d",bestv);     
}
 
void trackback(int i)
{
     int j;
    if(i>=n)
    {
         if(bestv<curv ) 
        {
            for(j=0;j<n;j++)
                bv[j] = cv[j]; 
            bestv = curv;
        } 
    }
    else
    {
         if(cw + weight[i]<=c)
         {
          cv[i] = 1; 
          cw +=weight[i];
          curv+= value[i];
          trackback(i+1);
          cw -=weight[i];
          curv-= value[i];
          }
          cv[i] =0;
          trackback(i+1);
 
    }
 
 
}
int main(int argc, char *argv[])
{
  trackback(0);
  output();
  system("PAUSE");	
  return 0;
}

北大ACM(PKU JudgeOnline)题目分类【转载】

02月 21st, 2010

1.搜索 //回溯
2.DP(动态规划)
3.贪心
4.图论 //Dijkstra、最小生成树、网络流
5.数论 //解模线性方程
6.计算几何 //凸壳、同等安置矩形的并的面积与周长
7.组合数学 //Polya定理
8.模拟
9.数据结构 //并查集、堆
10.博弈论

Read more »

<原>理解c#中的异步方法

01月 5th, 2010

c#中构建多线程应用程序,不一定要通过System.Threading命名空间下的类来实现,通过delegate委托也能够实现多线程编程所需要的方式,(其实delegate就是利用CLR的ThreadPool来实现的,这个不再我们的讨论范围)。
Read more »

[转]c# 多线程 编程

01月 3rd, 2010

一.多线程的概念

Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。浏览器就是一个很好的多线程的例子,在浏览器中你可以在下载JAVA小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等。

Read more »

进程、线程与应用程序域(AppDomain) 浅析

12月 23rd, 2009

进程
进程是操作系统用于隔离众多正在运行的应用程序的机制。在.Net之前,每一个应用程序被加载到单独的进程中,并为该进程指定私有的虚拟内存。进程不能直接访问物理内存,操作系统通过其它的处理把这些虚拟内存映射到物理内存或IO设备的某个区域,而这些物理内存之间不会有重叠,这就决定了一个进程不可能访问分配给另一个进程的内存。相应地,运行在该进程中的应用程序也不可能写入另一个应用程序的内存,这确保了任何执行出错的代码不会损害其地址空间以外的应用程序。在这种机制下,进程作为应用程序之间一个独立而安全的边界在很大程度上提高了运行安全。

Read more »

反射,动态加载,晚期绑定间的关系。

12月 22nd, 2009

1 动态加载程序集

2 反射获取Type信息(类的信息,方法的信息)

3晚期绑定(1 创造对象实例  2 调用方法(有参,无参))

.net程序集格式

12月 20th, 2009

win32文件首部

CLR文件首部

CIL代码

类型元数据

程序集清单

可选的嵌入资源

求二进制数中1的个数

12月 19th, 2009

对于一个字节(8bit)的变量,求其二进制表示中“1”的个数,要求算法的执行效率尽可能地高。 Read more »

c#中变量的初始化

11月 11th, 2009

在c#中变量在未明确赋值之前,变量拥有一个所属类型的等价于0的值。在正确理解c#中初始化的概念的时候,我们必须区分局部变量(local variable)——在一个方法内部声明的变量,它的作用范围被局限在此方法内;类的字段(fields of a class)的区别 Read more »