11 2011 档案
摘要:数组和指针经常出现于编程语言中、也许上课的时候老师也说过数组和指针有区别、参考书上也应该讲过,你是不是也不曾透彻的理清过?这篇博文主要从内存和编译的角度指出了数组和指针在访问方式上的区别、至于他们在函数调用的区别、以及它们的联系将在下一篇中详细讨论。为了说的清楚些、会先说一些基础的部分、如果你已经掌握大可跳过What's a Declaration? What's a Definition?声明和定义c语言的对象必须有且只有一个定义,但可以有多个声明(extern)这里说的对象和面向对象中的对象没有关系。A definition is the special kind of d
阅读全文
摘要:这篇博文主要内容是程序运行时的数据结构,包括运行时程序中的不同部分如何分配内存、函数调用的内存实现、还介绍了一个c独有的强大功能,一个被称为“展开堆栈”(unwinding stack)的技术运行时 数据结构,中间的空格是特意留出的,运行时可以认为是程序执行的一个状态,一般有编译时,运行时等,他们都是表示一个处理状态。编程语言的的经典对立之一就是代码和数据的区别。代码和数据的区别也可认为是运行时和编译时的界限,编译器的绝大部分工作和翻译代码有关;必要的数据存储管理的绝大部分都在运行时进行。如果你用过GCC,就会知道用GCC编译程序,都会得到一个默认名为“a.out”的文件。简单说下“a.out
阅读全文
摘要:引言:写一段程序很容易、也能很容易的得到一个能正确运行的执行、学习语言很容易,难的是掌握它不管接触什么语言,最经典的入门例子大概就是“hello world”了。然而,对于“hello world”背后的东西、当时却不曾深究。作为做程序的普通小菜、我仍醉心于基础和底层的东西。诚然、我也认为这些东西很重要。练好“内功”、有扎实的底层基础才能走的更快更远。知其所以然:承上、今天看了一下关于编译过程中链接的部分、觉得很有价值遂分享如下。由于链接器是从编译器中分割出来的单独程序,所以先要对编译有一个基本的认识。编译器的基本概念:简单的说,一个编译器就是一个程序,它可以阅读某一种程序语言编写的程序,并把
阅读全文
摘要:开篇今天,计算机系统结构的真正挑战不在于内存的容量,而是内存的速度。如果你的软件实际上受到磁盘和内存的等待时间(访问时间)的限制,那么就是再好的芯片也无济于事。在内存和cpu之间存在着一道很深的鸿沟,而且是越来越深。在过去,每隔一两年,cpu的处理速度就会提升一倍,在相同的时间内,内存的容量倒是扩大了一倍,但它的访问时间提升却没有那么明显。。所以我的理解是:内存主要受限于容量和速度。容量问题除了集成工艺的发展扩大物理内存容量,还可用用虚拟内存的办法解决。访问速度则可通过Cache技术的发展和程序设计的优化。内存管理的前世今生最初的计算机使用的内存直接对物理内存进行访问。这样的方式很快就被淘汰,
阅读全文
摘要:初衷:最近在看算法相关的东西,看到贪心法解决mst的问题,可惜树上讲解的不是很清新,到网上找了很多资料讲解的也不透彻只是随便带过就草草了事、这几天抽空看了下,总算基本思路理清楚了主要还是得感谢强大的google,帮我找到一个很好的英文资料。(下面有链接,有兴趣的同学可以看看)理顺了思路,就和大家分享下~希望对学习贪心法的同学会有所帮助。这篇博客的主要内容是贪心法求解Minimum Spanning Tree (MST)(最小生成树)的问题贪心法求解最小生成树常用的有两种算法,分别是Prim’s MST algorithm和Kruskal's MST algorithm(prim算法和k
阅读全文
摘要:当然、这是一个经典的递归问题~ 想必来看这篇博文的同学对汉诺塔应该不会陌生了吧, 写这篇博还是有初衷的: 之前学数据结构的时候自己看书、也上网上查了很多资料,资料都比较散、而且描述的不是很清楚,对于当时刚刚接触算法的我,要完全理解还是有一定难度。今天刚好有时间就整理了下思路、重写分析了一下之前的疑惑的地方、没有透彻的地方便都豁然开朗了。所以迫不及待把我的想法记录下来,和大家分享。 如果你也是和之前的我一样对hanoi tower没能完全消化,或者刚刚接触汉诺塔,那希望我的这种理解方式能给你些许帮助,如果你觉得已经完全掌握的比较牢靠了,那也可以看看,有好的idea可以一起分享;毕竟交...
阅读全文
摘要:动态规划博大精深,想完全掌握是很难的,不过我们可以从一些简单的例子之中去体会她的奥妙。不说废话、先来一个简单的例子吧:longest path in DAGProblem: Given a weighted directed acyclic graph G=(V, E), an vertex v, where each edge is assigned an integer weight, find a longest path in graph G问题描述:给一个带权有向无环图G=(V,E),找出这个图里的最长路径。说实话初学者直接给出这个图会看蒙的、再看看问题,不知道从何下手。好了,对上图
阅读全文
摘要:之前也在看算法相关的书、在被称为黑书的《算法导论》里看过关于动态规划的讲解只是当时研究不深、最近突来兴趣对动态规划做了个小的总结、所以就分享下不足之处多多指正、先对动态规划做一个简单的介绍吧:动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人提出了著名的最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解,创立了解决这类过程优化问题的新方法——动态规划。动态规划是信息学竞赛中选手
阅读全文
摘要:很多地方都会用到连接数据库、如果能把字符串放在配置文件中、自然是很方便的了增强了程序的可移植性并且也便于程序维护简单地说:把连接字符串放在配置文件中、需要的时候去取就行很方便吧~一般默认会有web.config这个文件。关于web.config可以参考http://blog.csdn.net/zhoufoxcn/article/details/3265141<configuration> <system.web> <compilation debug="false" targetFramework="4.0" /> &
阅读全文
摘要:SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作。一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack4、
阅读全文
摘要:来的比较晚、之前都在新浪博客了里面也学到了很多东西认识了很多人唯一的缺憾是里面做技术的不多、尤其是IT这块的所以、后来选择了博客园今天早上开通了学海无涯大三上学期就要过了一半了、离自己的计划还有一定差距接下来的日子还需要跟多的努力才行了所承受的痛苦程度和取得的成就程度总是有很大关系所以、加油吧。短期目标:大三暑假网易实习先搞技术、再向其他方向辐射。没有人会安于现状、却很少有人愿意去改变它。我叫、一条鱼计划:Linux深入学习 .NET开发再花点时间(本来是不想在这个方向搞了---只是、不甘心) C++深入学习做出成果另:大学里、除了我的亲人、不会再爱任何人。copyright@-小鱼怒了
阅读全文