jyh的博客

脚踏实地

什么是死锁及死锁的必要条件和解决方法

转自1、:http://blog.163.com/yanenshun@126/blog/static/128388169200982444858590/?fromdm&fromSearch&isFromSearchEngine=yes 2、 /bl...

2018-05-29 16:10:10

阅读数:72

评论数:1

递归

转自:http://blog.csdn.net/vagrxie/article/details/8470798 递归是编程中一个相对难以理解但是却又很重要的概念. 对于从命令式语言开始学习编程的程序员天生对此有理解缺陷, 而对于从类似C++这种对函数式编程范式不友好的语言开始学习编程的程序员就更...

2018-05-29 16:04:16

阅读数:14

评论数:0

关于链表中头指针和头结点的理解

    线性表使用顺序(数组)存储时有个弊端,那就是在插入和删除时需要大量的移动数据,这显示是非常消耗时间的,所以可以采用链式存储,即有一个指针域(单链表),来记录下个结点的存储位置(地址),这样在插入和删除结点时只需要修改指针域即可,从而大量减少移动数据所消耗的时间。来看链表的定义: s...

2018-05-29 16:04:03

阅读数:261

评论数:0

贪心算法

贪心算法(又称贪婪算法)是指,在对 问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部 最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与...

2018-05-29 16:01:02

阅读数:49

评论数:0

教你彻底学会动态规划

点击打开链接 动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看懂了,发现当自己做题的时候...

2018-05-29 16:00:48

阅读数:40

评论数:0

背包问题

在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i] 样例 如果有4个物品[2, 3, 5, 7] 如果背包的大小为11,可以选择[2, 3, 5]装入背包,最多可以装满10的空间。 如果背包的大小为12,可以选择[2, 3, 7]装入背包,最多可以装满1...

2018-05-29 16:00:30

阅读数:40

评论数:0

动态规划题目

109. 数字三角形 给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。 样例 比如,给出下列数字三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 从顶到底部的最小路径和为11 ( 2 + 3 +...

2018-05-29 16:00:07

阅读数:80

评论数:0

重点 第九章 虚拟内存

第九章-----虚拟内存       系统中的进程共享CPU和主存资源,但存储器空间是有限的,而且还容易被破坏。现代系统提供了一种对主存的抽象,称为虚拟存储器,以更有效地管理存储器。虚拟存储器将主存看作磁盘上的地址空间的高速缓存,为每个进程提供了一致的地址空间,并保护进程的地址空间不被其他进程破坏...

2018-05-29 15:59:13

阅读数:46

评论数:0

重点 第七章 链接

1.静态链接     为了构造可执行文件,链接器必须完成两个主要任务:    ● 符号解析,目标文件定义和引用符号,每个符号对应于一个函数、一个全局变量或一个静态变量(即C语言中任何以static属性声明的变量)。符号解析的目的是将每个符号引用正好和一个符号定义关联起来。    ● 重定位,编译器...

2018-05-29 15:59:08

阅读数:54

评论数:0

重点 第八章 异常控制流、进程线程、处理机调度算法、信号

异常控制流控制转移控制流系统必须能对系统状态的变化做出反应,这些系统状态不是被内部程序变量捕获,也不一定和程序的执行相关。现代系统通过使控制流 发生突变对这些情况做出反应。我们称这种突变为异常控制流( Exceptional Control Flow,ECF)异常控制流发生在系统的各个层次。理解E...

2018-05-29 15:59:03

阅读数:84

评论数:0

第六章 存储器层次结构

存储器层次结构6.1 存储技术6.2 局部性6.3 存储器层次结构6.4 高速缓存存储器6.5 编写高速缓存友好的代码6.7 小结6.8 关于磁盘的补充讲解       好的程序代码不仅要有好的算法,对计算机硬件的充分利用也是很关键的一步。       存储器系统(memorysystem)是一个...

2018-05-29 15:58:58

阅读数:140

评论数:0

第五章 优化程序性能

 写程序的最主要目标就是使它在所有可能的情况下都正确工作。程序员必须写出“清晰简洁”的代码,读懂、理解、修改   代码。       编写高效程序:1.          选择合适的算法和数据结构2.          编写出编译器能够有效优化以转换成高效可执行代码的源代码。3.         ...

2018-05-29 15:58:53

阅读数:38

评论数:0

第三章 程序的机器级表示

机器级代码计算机系统使用了多种不同形式的抽象,利用更简单的抽象模型来隐藏实现的细节。对于机器级编程来说,其中两种抽象尤为重要:1、指令集体系结构(Instruction set architecture ISA)它定义了处理器状态、指令的格式,以及每条指令对状态的影响。IA32将程序的行为描述成好...

2018-05-29 15:58:49

阅读数:85

评论数:0

第二章、信息的表示和处理

现代计算机存储和处理的信息以二值信号表示。这些微不足道的二进制数字,或者称为位(bit),奠定了数字革命的基础。孤立的讲,单个的位不是非常有用。然而,当把位组合在一起,再加上某种 解释,即给不同的可能 位模式 赋予含义,我们就能表示任何有限集合的元素。 一、数值的表示 1. 1 数值的编码 ...

2018-05-29 15:58:44

阅读数:47

评论数:0

重点 总结: 计算机系统漫游

操作系统在计算机系统中处于计算机硬件和用户之间的位置1.信息就是 (位+上下文)#-------> hello.c #include<stdio.h> int mian(){ printf("hello ,...

2018-05-29 15:58:39

阅读数:44

评论数:0

强制类型转换(int)、(int&)和(int*)的区别

我们先来看两行代码:[cpp] view plain copyfloat x=1.75,y=1.75;  cout<<(int)x<<" "<&...

2018-05-29 15:55:20

阅读数:478

评论数:0

sizeof与strlen的区别

char str[20]="0123456789"; int   a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int   b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组s...

2018-05-29 15:55:06

阅读数:22

评论数:0

基于TCP的聊天室

  综合案例 基于TCP的聊天室,支持多个用户同时登陆服务器进行聊天。(相当于群) socket编程,做一对多的通信,必然要用到多线程,保证多个客户端(并行)登陆服务器时同时进行聊天。 cs:客户端服务器  项目主要功能: 1、使用socket网络编程,实现聊天室的服务端和客户端、实...

2018-05-29 15:53:10

阅读数:874

评论数:3

14. 二分查找

给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 样例 在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。 思路:1、target==array...

2018-05-29 15:48:56

阅读数:21

评论数:0

lintcode 链表总结

翻转链表问题 35、翻转链表 样例:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 若所翻转链表无头结点 a.     头插法 思路:每次都像头节点的后面插入元素,需要定...

2018-05-29 15:48:36

阅读数:37

评论数:0

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