Hello 算法 1.1.0 Go版structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 for i <= n { res += i // 更新条件变量 i++ } return res } while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 第 2 章 复杂度分析 hello‑algo.com 21 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: // === === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, 10, ... for i <= n { res += i // 更新条件变量 i++ i *= 2 } return res } 总的来说,for0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.0.0 Golang版structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量少,以节省计算机内存。 第 1 章 初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 for i <= n { res += i // 更新条件变量 i++ } return res } 第 2 章 复杂度分析 hello‑algo.com 21 while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: // === === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, 10, ... for i <= n { res += i // 更新条件变量 i++ i *= 2 } return res } 总的来说,for0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版操作方法,它具 有以下设计目标。 第 1 章 初识算法 www.hello‑algo.com 14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数 for i <= n { res += i // 更新条件变量 i++ } return res } 第 2 章 复杂度分析 www.hello‑algo.com 21 while 循环比 for 循环的自由度更高。在 while 循环中,我们可以自由地设计条件变量的初始化和更新步 骤。 例如在以下代码中,条件变量 ? 每轮进行两次更新,这种情况就不太方便用 for 循环实现: // === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, 10, ... for i <= n { res += i // 更新条件变量 i++ i *= 2 } return res } 总的来说,for0 码力 | 384 页 | 18.49 MB | 10 月前3
Hello 算法 1.0.0b1 Golang版Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构的设计是一个充满权衡的过程,这意味着如果获得某方面的优势,则往往需要在另一方面做出妥协。 数据结构简介 hello‑algo.com 43 「物理结构」反映了数据在计算机内存中的存储方式。从本质上看,分别是 数组的连续空间存储 和 链表的离散 空间存储。物理结构从底层上决定了数据的访问、更新、增删等操作方法,在时间效率和空间效率方面呈现出 此消彼长的特性。 Figure 3‑4. 连续空间存储与离散空间存储 所有数据结构都是基于数组、或链表、或两者组合实现的。例如栈和队列,既可以使用数组实现、也可以使用 总结来看,数组的插入与删除操作有以下缺点: ‧ 时间复杂度高:数组的插入和删除的平均时间复杂度均为 ?(?) ,其中 ? 为数组长度。 ‧ 丢失元素:由于数组的长度不可变,因此在插入元素后,超出数组长度范围的元素会被丢失。 ‧ 内存浪费:我们一般会初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元 素都是我们不关心的,但这样做同时也会造成内存空间的浪费。 4.1.3. 数组常用操作 数组遍历。以下介绍两种常用的遍历方法。0 码力 | 190 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Golang版Structure」是在计算机中组织与存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计原则有: ‧ 空间占用尽可能小,节省计算机内存。 ‧ 数据操作尽量快,包括数据访问、添加、删除、更新等。 1. 引言 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构的设计是一个充满权衡的过程,这意味着如果获得某方面的优势,则往往需要在另一方面做出妥协。 数据结构简介 hello‑algo.com 43 「物理结构」反映了数据在计算机内存中的存储方式。从本质上看,分别是 数组的连续空间存储 和 链表的离散 空间存储。物理结构从底层上决定了数据的访问、更新、增删等操作方法,在时间效率和空间效率方面呈现出 此消彼长的特性。 Figure 3‑4. 连续空间存储与离散空间存储 所有数据结构都是基于数组、或链表、或两者组合实现的。例如栈和队列,既可以使用数组实现、也可以使用 总结来看,数组的插入与删除操作有以下缺点: ‧ 时间复杂度高:数组的插入和删除的平均时间复杂度均为 ?(?) ,其中 ? 为数组长度。 ‧ 丢失元素:由于数组的长度不可变,因此在插入元素后,超出数组长度范围的元素会被丢失。 ‧ 内存浪费:我们一般会初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元 素都是我们不关心的,但这样做同时也会造成内存空间的浪费。 4.1.3. 数组常用操作 数组遍历。以下介绍两种常用的遍历方法。0 码力 | 202 页 | 15.73 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 空间占用尽量减少,节省计算机内存。 第 1 章 初识算法 hello‑algo.com 13 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 数据结构设计是一个充满权衡的过程。如果想要在某方面取得提升,往往需要在另一方面作出妥协。下面举 两个例子。 ‧ 链表相较于数组 for i <= n { res += i // 更新条件变量 i++ } return res } 第 2 章 复杂度分析 hello‑algo.com 20 在 while 循环中,由于初始化和更新条件变量的步骤是独立在循环结构之外的,因此它比 for 循环的自由度 更高。 例如在以下代码中,条件变量 ? 每轮进行了两次更新,这种情况就不太方便用 for 循环实现。 // === === File: iteration.go === /* while 循环(两次更新) */ func whileLoopII(n int) int { res := 0 // 初始化条件变量 i := 1 // 循环求和 1, 4, ... for i <= n { res += i // 更新条件变量 i++ i *= 2 } return res } 总的来说,for0 码力 | 379 页 | 30.70 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版Structure」是计算机中组织和存储数据的方式。为了提高数据存储和操作性能,数据结构 的设计目标包括: ‧ 空间占用尽量减少,节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 1. 初识算法 hello‑algo.com 10 ‧ 提供简洁的数据表示和逻辑信息,以便使得算法高效运行。 数据结构设计是一个充满权衡的过程,这意味着要在某方面取得优势,往往需要在另一方面作出妥协。例如, 运行的程序很多并且缺少大量连续的内存空间,那么所选用的数据结构必须能够存储在离散的内存空间内。 「物理结构」反映了数据在计算机内存中的存储方式,可分为数组的连续空间存储和链表的离散空间存储。物 理结构从底层决定了数据的访问、更新、增删等操作方法,同时在时间效率和空间效率方面呈现出互补的特 点。 3. 数据结构 hello‑algo.com 40 Figure 3‑3. 连续空间存储与离散空间存储 所有数据结构都是基 总结来看,数组的插入与删除操作有以下缺点: ‧ 时间复杂度高:数组的插入和删除的平均时间复杂度均为 ?(?) ,其中 ? 为数组长度。 ‧ 丢失元素:由于数组的长度不可变,因此在插入元素后,超出数组长度范围的元素会丢失。 ‧ 内存浪费:我们可以初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元素 都是我们不关心的,但这样做同时也会造成内存空间的浪费。 4. 数组与链表 hello‑algo.com0 码力 | 347 页 | 27.40 MB | 1 年前3
Go Web编程get支持多数开源社区(例如: github、googlecode、bitbucket、Launchpad) go get github.com/astaxie/beedb go get -u 参数可以自动更新包,而且当go get的时候会自动获取该包依赖的其他第三方包 通过这个命令可以获取相应的源码,对应的开源平台采用不同的源码控制工具,例如github采用git、googlecode采 用hg,所 述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最 常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息. 我们看看GET和POST的区 别 1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如 EditPosts.aspx?name=test1&id=123456 因为驱动实现了database/sql里面建议的conn pool,所以你不用再去实现缓存conn之类的,这样会容易引起问题。 Begin函数返回一个代表事务处理的Tx,通过它你可以进行查询,更新等操作,或者对事务进行回滚、递交。 driver.Stmt driver.Stmt Stmt是一种准备好的状态,和Conn相关联,而且只能应用于一个goroutine中,不能应用于多个goroutine。0 码力 | 295 页 | 5.91 MB | 1 年前3
Go 入门指南(The way to Go)13 个不同的版本,而这些版本都使用了不同的概念和技巧。 你可以通过访问本书的 官方网站 下载书中的代码(译者注:所有代码文件已经包括在 GitHub 仓库中), 并获得有关本书的勘误情况和内容更新。 为了让你在成为 Go 语言大师的道路上更加顺利,我们会专注于一些特别的章节以提供 Go 语言开发模式 的最佳实践,同时也会帮助初学者逃离一些语言的陷阱。第 18 章可以作为你在开发时的一个参考手册, Go入门指南 - 17 - 本文档使用 看云 构建 7. 更新版本 你可以在 发布历史 页面查看到最新的稳定版。 当前最新的稳定版 Go 1 系列于 2012 年 3 月 28 日发布。 Go 的源代码有以下三个分支: - Go release:最新稳定版,实际开发最佳选择 - Go weekly:包含最近更新的版本,一般每周更新一次 - Go tip:永远保持最新的版本,相当于内测版 Go 内置工具以及 谷歌内部项目的代 码。 go fix 之所以能够正常工作是因为 Go 在标准库就提供生成抽象语法树和通过抽象语法树对代码 进行还原的功能。该工具会尝试更新当前目录下的所有 Go 源文件,并在完成代码更新后在控制台输 出相关的文件名称。 go test 是一个轻量级的单元测试框架(第 13 章)。 3.8 Go 性能说明 根据 Go 开发团队和基本的算法测试,Go 语言与0 码力 | 380 页 | 2.97 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a一个数值型的字面量只有在不需要舍入时,才能用来表示一个整数基本类型的 值。 比如,1.0可以表示任何基本整数类型的值,但1.01却不可以。 当一个数 值型的字面量用来表示一个非整数基本类型的值时,舍入(或者精度丢失)是 允许的。 每种数值类型有一个能够表示的数值范围。 如果一个字面量超出了一个类型能 够表示的数值范围(溢出),则在编译时刻,此字面量不能用来表示此类型的 值。 下表是一些例子: 字面表示 任何基本数值类型的值。 尽管0x10000000000000000可以用来表示float32类型的值,但是它不能被任 何float32类型的值所精确表示。上面已经提到了,当使用字面量来表示非 整数基本数值类型的时候,精度丢失是允许的(但溢出是不允许的)。 本书由老貘 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本 书和Go101.org网站不断增容和维护的动力。 (请搜索关注微信公众号“Go 101”或者访问github 入(或者精度 丢失)也是允许的。 具体规则如下: 当从一个比特位数多的整数类型的非常量整数值向一个比特位数少的整数 类型转换的时候,高位的比特将被舍弃,低位的比特将被保留。我们称这 种处理方式为截断(truncated)。 当从一个非常量的浮点数向一个整数类型转换的时候,浮点数的小数部分 将被舍弃(向零靠拢)。 当从一个非常量整数或者浮点数向一个浮点数类型转换的时候,精度丢失 是可以发生的。0 码力 | 608 页 | 1.08 MB | 1 年前3
共 34 条
- 1
- 2
- 3
- 4













