Halt in Air

Lay burdens down and travel light!

常见查找算法(一)

顺序表查找法、线性索引概述

对常见查找算法做一个归纳。 1. 顺序表查找 Sequential Search 顺序查找又称线性查找,是最基本的查找技术。它的基本过程如下:从表中第一个(或最后一个)记录开始,逐个进行记录的关键字和给定值比较, 若相等,则查找成功;若查找到最后一个(或第一个)记录,关键字和给定值比较都不相等,则表中没有所查的记录,查找不成功。 func SequentialSearch(nums [...

reStructuredText 初识

1. 概念 reStructuredText 是一种轻量级的文本标记语言,是 Python 中 Docutils 项目的一部分。其文件以 .rst 为后缀。在必要的时候,可以被转化成 PDF 或者 HTML 格式,也可以由 Sphinx 转化为 LaTex、man 等格式,现在被广泛的用于程序的文档撰写。 之前已经使用过一种标记型语言 Markdown。官方的说法直截了当, Ma...

OSI七层模型

1. 概述 开放系统互连模型(Open Systems Interconnection model,OSI 模型)是国际标准化组织制定的一种抽象概念,用以在多种通信系统及标准协议间界定与标准化其通信功能与交互操作。原始版本的 OSI 模型分为七层,每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI 的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它...

常见排序算法

冒泡、选择、插入、希尔、堆、归并、快速排序

对常见排序算法做一个归纳。 1. 冒泡排序(Bubble Sort) 冒泡排序是一种交换排序,它的基本思想是两两比较相邻记录的关键字,如果反序就交换,知道没有反序的记录为止。 给定一个乱序数组 nums[n],简单实现非递增如下: func BubbleSort(nums []int) { length := len(nums) swapped := true ...

《技术的本质》摘要

技术的定义 技术是人实现其目的的一种手段。 技术是一个实践领域中,各种实践活动和各类技术成分的集成。 宏观来看,技术是在某一个时代的人类文化所运用的各类装置和各种工程实践的整个集合。按韦氏词典,“人类创造物质文化的手段的总和”。 可执行性是技术的一个核心特征和关键要素,凡是没有可执行性的都不是技术。 简单来讲,技术是一种组合,由不同的模块组合而成。技术模块化的特点是模块...

《那些让你更聪明的科学新概念》摘要

1. 失败造就成功 主动去经历更多的小失败,去经历那些还没有经历过的小失败,通过这样的锻炼,就能有更大的可能去避免大失败。 2. 知识是一种假设 我们自以为得到的知识,只是对复杂世界的简化,其实并不那么可靠,我们都应该保持一定的怀疑。保持谨慎的态度,更加小心的使用知识。 3. 约束条件 做一件事情,解决一个问题,首先要明确做一件事情的约束条件。 用约束条件求解问题的意义主要体现在...

《精要主义》摘要

需要更多选择 人其实是生活在惯性里的,是一种习惯的动物。任何让我们得到益处的事情,一定是有代价的。惯性的生活的代价是,我们失去了选择的能力、改变的能力、重塑自己的能力。一旦我们放弃自己的选择能力,别的力量或者别的人就会插手替我们作出选择。 选择的能力不是凭空产生的,而是需要你在一次又一次的选择中打磨、训练的。所以,一成不变的生活,一以贯之的工作,它确实能给你安全感、安稳感,但是它也给你慢...

《刻意练习:如何从新手到大师》摘要

基本要素 刻意练习的英文原文是deliberate practice。刻意练习可以这么定义,在明确的目标下,通过重复和专注的精细化活动,不断地突破现有表现的练习。 本书作者认为刻意练习有以下四个关键要素: 刻意练习必须要有明确的、具体的目标。 刻意练习的目标应该是小目标,并且最好是可以量化的。设定目标的意义是迫使练习出效果。严格来讲,刻意练习的目标应该是对每一...

《深度工作》摘要

深度工作是这个时代的关键能力 深度工作,就是在没有干扰的状态下非常专注地做事情,同时最大化的使用自己的认知能力。 为什么深度工作非常重要呢? 深度工作的能力是当今时代非常稀缺的一种能力 深度工作对提升工作效率有非常大的促进作用 深度工作能够帮助我们练就高难度的、复杂的工作技能 本书作者卡尔·纽波特提出了一个生产力公式:高质量的工作产出=时间*专注度。 有一本书《与机器...