2007-09-28

随机化

慢慢开始有感觉数学对写程序有很多影响.真后悔上上学期的离散数学和概率老是逃课!! 拜读了云风老大的"泊松分布"联想到要有较好的数学和概率基础才能搞出所谓的随机化算法. 搞一个例子吧: 泊松分布一般适用于发生一次的概率很小事件.例如:一门很容易的考试,结果还是有一两个不及格(失礼了,小弟曾经是其中一个.),还有比如购买彩票等等事件,中奖概率很小的事件.假如中奖概率为14000000:1,假设抽取的号码是随机的而且独立的,如果一个人购买彩票越多,中奖概率增加,但两个人买一样多的彩票,概率不会增加,因为是事件独立的. 当中奖人数的期望为2时的彩票中奖者分布如下所示: 中 ...
import java.util.Random; /** *Maximum continguous subsequence sum algorithm *连续子序列最大和问题 */ public class MaxSubSequenceSum {     static int seqStart = 0;     static int seqEnd = -1;     private static Random rand = new Random( );   &nbs ...
在这个教程中,Ian Shields 将继续帮助您准备参加 Linux Professional Institute 的初级管理(LPIC-1)考试 102。这是 9 篇系列教程中的第 6 篇。在本教程中,Ian 将向您介绍管理任务。在学完本教程之后,您将掌握如何管理用户和组、设置用户配置文件和环境、使用日志文件、调度作业、备份数据和维护系统时间。
  • 23:54
  • 浏览 (244)
  • 评论 (0)
通过本文,了解更多有关 libhugetlbfs 库以及如何将这些库与 GNU Compiler Collection (GCC) 或 IBM XL C/C++ 及 XL Fortran compilers for Linux(R) 结合使用的信息。libhugetlbfs 是一个开源社区项目,可为客户应用程序提供到系统大内存页的透明访问。SUSE Linux Enterprise Server 10 (SLES 10) 和 Red Hat Enterprise Server Linux 5 (RHEL 5) 现均支持 libhugetlbfs。尽管大量支持 ...
  • 23:54
  • 浏览 (196)
  • 评论 (0)
假设您需要在深夜里运行 30 分钟某些 trace 程序以调试一个棘手的问题,或者您希望将 Linux 系统当作闹钟使唤。本文介绍的技巧将帮助您在运行一段时间(或满足其他条件)后停止执行某些作业,例如使用 cron 和 at 功能启动的作业。
  • 23:54
  • 浏览 (194)
  • 评论 (0)
IBM POWER5(TM) 和 POWER5+(TM) 系统提供了非常优秀的虚拟化能力。通过阅读本文,您将理解影响运行 SUSE Linux Enterprise Server (SLES) 10 的 IBM POWER5 系统虚拟化性能的因素,并学习如何使用一些可以帮助诊断和解决性能问题的工具。您还将看到几个如何测试和改进性能的例子。
  • 23:54
  • 浏览 (181)
  • 评论 (0)
本系列文章详细地介绍了一个Linux下的全新的调式、诊断和性能测量工具Systemtap和它所依赖的基础kprobe以及促使开发该工具的先驱DTrace并给出实际使用例子使读者更进一步了解和认识这些工具。 本文是该系列文章之三,它讲解了Systemtap的原理,Systemtap与DTrace比较,以及安装要求和安装步骤,最后通过一个例子向读者展示Systemtap的工作机理。本系列文章之一讲解了kprobe的原理、编程接口、局限性和使用注意事项并给出实际使用示例帮助读者理解和认识kprobe。本系列文章之二讲解了DTrace的原理。
  • 23:54
  • 浏览 (202)
  • 评论 (0)
你是不是经常需要远程登录到Linux服务器?你是不是经常为一些长时间运行的任务头疼?还在用 nohup 吗?那么来看看 screen 吧,它会给你一个惊喜!
  • 23:54
  • 浏览 (240)
  • 评论 (0)
本系列文章详细地介绍了一个Linux下的全新的调式、诊断和性能测量工具Systemtap和它所依赖的基础kprobe以及促使开发该工具的先驱DTrace并给出实际使用例子使读者更进一步了解和认识这些工具。 本文是该系列文章之一,它讲解了kprobe的原理、编程接口、局限性和使用注意事项并给出实际使用示例帮助读者理解和认识kprobe。本系列文章之二讲解了DTrace以及Systemtap与DTrace比较。本系列文章之三讲解了Systemtap的原理,并通过一个例子向读者展示Systemtap的工作机理。
  • 23:54
  • 浏览 (185)
  • 评论 (0)
您是否有时想知道如何对脚本使用参数,以及如何将参数传递给内部函数或其他脚本?是否需要对参数或选项做一些简单的有效性测试?或者对参数字符串执行一些简单的析取和替换操作?本文将向您介绍参数的用法和 bash shell 中的各种参数扩展。
  • 23:54
  • 浏览 (164)
  • 评论 (0)
系统管理员需要在系统负载低的午夜运行作业,或者需要每天或每周运行作业,同时又不愿意牺牲睡眠时间或假期。调度任务的其他原因包括自动执行日常任务或者确保每次都以相同的方式处理任务。本文帮助您使用 cron 和 at 功能调度作业定期运行或在指定的时间运行一次。
  • 23:54
  • 浏览 (162)
  • 评论 (0)
如今,开发人员不断地开发和部署使用 LAMP(Linux、Apache、MySQL 和 PHP/Perl)架构的应用程序。但是,服务器管理员常常对应用程序本身没有什么控制能力,因为应用程序是别人编写的。这份共三部分的系列文章将讨论许多服务器配置问题,这些配置会影响应用程序的性能。本文是本系列文章的第三部分,也是最后一部分,将重点讨论为实现最高效率而对数据库层进行的调优。
  • 23:54
  • 浏览 (126)
  • 评论 (0)
本文简单介绍了IPV6的相关知识,描述了如何通过Hurricane Electric提供的免费IPV6隧道,连接到IPV6网络的方法。
  • 23:54
  • 浏览 (108)
  • 评论 (0)
GDB 是 linux 系统上常用的调试工具,本文介绍了使用 GDB 调试多进程程序的几种方法,并对各种方法进行比较。
  • 23:54
  • 浏览 (109)
  • 评论 (0)
Linux 允许众多不同的文件系统共存,并支持跨文件系统的文件操作,这是因为有虚拟文件系统的存在。虚拟文件系统,即VFS(Virtual File System)是 Linux 内核中的一个软件抽象层。它通过一些数据结构及其方法向实际的文件系统如 ext2,vfat 提供接口机制。本文在简要介绍 VFS 的相关数据结构后,以文件 I/O 为切入点深入 Linux 内核源代码,追踪了 sys_open 和 sys_read 两个系统调用的代码结构,并在追踪的过程中理清了跨文件系统的文件操作的基本原理和“一切皆是文件”的口号得以实现的根本。
  • 23:54
  • 浏览 (101)
  • 评论 (0)
当编写 Shell 程序时,您通常会遇到一些特殊的情况,希望采用自动方式处理。本教程包括一些关于此类情况的 Bourne Shell 脚本示例。这些情况包括字符串的进制转换(十进制到十六进制、十六进制到十进制、十进制到八进制,等等)、在管道循环中读取键盘、Subshell 执行、内联输入、为目录中的每个文件执行一次命令,以及使用多种方法构造连续循环。本系列文章的第 4 部分总结了一批执行有用功能的 Shell 单命令行程序。
  • 23:54
  • 浏览 (103)
  • 评论 (0)
本教程是含两部分的系列教程的第二部分,这个系列介绍了为何要锁定 Linux机器来理顺相关的支持和管理过程,本教程讲解如何对 Linux 内核进行配置,使其只执行签名的二进制代码。
  • 23:54
  • 浏览 (109)
  • 评论 (0)
本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用“-n”选项进行shell脚本的语法检查, 使用“-x”选项实现shell脚本逐条语句的跟踪,巧妙地利用shell的内置变量增强“-x”选项的输出信息等。
  • 23:54
  • 浏览 (117)
  • 评论 (0)
目前的各种嵌入式产品已经丰富多彩,它们正改变着我们的生活方式。随着嵌入式产品功能的增加,如何让用户对已购买的产品的升级能安全地、顺利地完成,避免升级过程中出现的意外掉电所引起的产品故障,这样的问题要求嵌入产品设计开发者在设计时就将产品的 safe mode 安全模式考虑进去。 这里我们将以一个嵌入式Linux 网络播放器为例,来说明 safe mode 安全模式的设计与实现。通过本文,我们可以了解到针对一个实际的嵌入式系统,设计中需要注意的技术要点和实现细节。
  • 23:54
  • 浏览 (114)
  • 评论 (0)
GNU 的 gperf 工具是一种 “完美的” 散列函数,可以为用户提供的一组特定字符串生成散列表、散列函数和查找函数的 C/C++ 代码。通过本文学习如何使用 gperf 实现 C/C++ 代码中高效的命令行处理。
  • 23:54
  • 浏览 (103)
  • 评论 (0)
如何将 Cell Broadband Engine(Cell/B.E.)处理器从一个现成的 Sony PLAYSTATION 3(PS3)上取下来,用它来构造一个基于 Linux 的实验设备呢(也就是,将现有的产品 Cell/B.E. 还原成实验设备)?在本系列文章中,Lewin Edwards 将向您展示如何从游戏控制台转到音频带宽频谱分析器和函数生成器。首先,他将介绍本项目的设计内容,然后在您开始着手在 Cell/B.E. 处理器上生成并分析信号时详细介绍用户接口的实现。
  • 23:54
  • 浏览 (108)
  • 评论 (0)
新接触 Linux 的用户通常会对有如此众多的发行版可以选择而产生困扰。好消息是我们可以安全地忽略其中的大多数。本文可以帮助您在众多发行版中作出选择,以开始 Linux 的探索,并且能够帮助您理解为什么要选择这种发行版。
  • 23:54
  • 浏览 (116)
  • 评论 (0)