MoonBit月兔编程语言 现代编程思想 第三课 函数, 列表与递归现代编程思想 函数, 列表与递归 Hongbo Zhang 1 基本数据类型:函数 2 函数 在数学上,描述对应关系的⼀种特殊集合 对于特定的输⼊,总是有特定的输出 在计算机中,对相同运算的抽象,避免⼤量重复定义 计算半径为1的圆的⾯积: 3.1415 * 1 * 1 计算半径为2的圆的⾯积: 3.1415 * 2 * 2 计算半径为3的圆的⾯积: 3.1415 * 3 * 11 数据类型:列表 12 列表:⼀个数据的序列 我们有时会收到⼀些数据,具备以下特征: 数据是有序的 数据是可以重复的 数据的数量是不定的 举例来说 ⼀句话中的⽂字:� '⼀' '句' '话' '中' '的' '⽂' '字' � DNA序列:� G A T T A C A � …… 13 列表的接⼝ 我们定义⼀个单向不可变列表 以整数的列表为例(暂名之 IntList 返回⼀个空列表 cons : (Int, IntList) -> IntList 向列表添加⼀项 解构 head_opt : IntList -> Option[Int] 获得第⼀项 tail : IntList -> IntList 获得除第⼀项以外的项 14 列表的接⼝ 测试案例 1. let empty_list:0 码力 | 42 页 | 587.59 KB | 1 年前3
 PyWebIO v1.0.3 使用手册r.net/doc/manual.html# config 输入组 PyWebIO 支持输入组, 返回结果为一个字典。pywebio.input.input_group() 接受单项输入组成的列表 作为参数, 返回以单项输入函数中的 name 作为键、以输入数据为值的字典: data = input_group("Basic info",[ input('Input your name' 'B'], ['C', style(put_text('Red'), 'color: red')], ]) style() 也接受列表作为输入,style() 会为列表的每一项都设置 CSS 样式,返回值可以直接输出,可用 于任何接受 put_xxx() 列表的地方: style([ put_text('Red'), put_markdown('~~del~~') ], 'color: 会开启一个新会话并运行任务函数。 使用start_server() 来启动 PyWebIO 的 Server 模式,start_server() 除了接收一个函数作为任务函 数外,还支持传入函数列表或字典,从而使一个 PyWebIO Server 下可以有多个不同功能的服务,服务之间可 以通过go_app() 进行跳转,详细内容见函数文档。 注意: 注意,在 Server 模式下,仅能在任务函数上下文中对0 码力 | 94 页 | 1.71 MB | 1 年前5
 PyWebIO v1.0.3 使用手册https://codemirror.net/doc/manual.html#config 输入组 PyWebIO支持输入组, 返回结果为一个字典。pywebio.input.input_group() 接 受单项输入组成的列表作为参数, 返回以单项输入函数中的 name 作为键、以输 入数据为值的字典: code = textarea('Code Edit', code={ 'mode': "python", style() 函数给输出设定自定义样式。 可以给单个的 put_xxx() 输出设定CSS样式,也可以配合组合输出使用: style() 也接受列表作为输入,style() 会为列表的每一项都设置CSS样式,返 回值可以直接输出,可用于任何接受 put_xxx() 列表的地方: style(put_text('Red'), 'color: red') put_table([ ['A', 'B'] PyWebIO会开启一个新会话并运行任务函数。 使用 start_server() 来启动PyWebIO的Server模式, start_server() 除了接收 一个函数作为任务函数外, 还支持传入函数列表或字典,从而使一个PyWebIO Server下可以有多个不同功能的服务,服务之间可以通过 go_app() 进行跳转, 详细内容见函数文档。 注意 注意,在Server模式下,仅能在任务函数上下文中对PyWebIO的交互函数进0 码力 | 106 页 | 7.34 MB | 1 年前3
 Hello 算法 1.0.0b1 Java版链表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3. 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.4. 小结 4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6. 散列表 82 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。0 码力 | 186 页 | 14.71 MB | 1 年前3
 PyWebIO v1.1.0 使用手册r.net/doc/manual.html# config 输入组 PyWebIO 支持输入组, 返回结果为一个字典。pywebio.input.input_group() 接受单项输入组成的列表 作为参数, 返回以单项输入函数中的 name 作为键、以输入数据为值的字典: data = input_group("Basic info",[ input('Input your name' 'B'], ['C', style(put_text('Red'), 'color: red')], ]) style() 也接受列表作为输入,style() 会为列表的每一项都设置 CSS 样式,返回值可以直接输出,可用 于任何接受 put_xxx() 列表的地方: style([ put_text('Red'), put_markdown('~~del~~') ], 'color: 会开启一个新会话并运行任务函数。 使用start_server() 来启动 PyWebIO 的 Server 模式,start_server() 除了接收一个函数作为任务函 数外,还支持传入函数列表或字典,从而使一个 PyWebIO Server 下可以有多个不同功能的服务,服务之间可 以通过go_app() 或put_link() 进行跳转: def task_1(): put_text('task_1')0 码力 | 98 页 | 1.73 MB | 1 年前3
 Hello 算法 1.0.0b1 Python版链表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3. 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.4. 小结 4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6. 散列表 76 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。0 码力 | 178 页 | 14.67 MB | 1 年前3
 Hello 算法 1.0.0b1 Swift版链表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3. 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.4. 小结 4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6. 散列表 84 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。0 码力 | 190 页 | 14.71 MB | 1 年前3
 Hello 算法 1.0.0b1 C++版链表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3. 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.4. 小结 4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6. 散列表 82 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。0 码力 | 187 页 | 14.71 MB | 1 年前3
 Hello 算法 1.0.0b4 Java版2. 链表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.3. 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4. 小结 . 5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6. 散列表 91 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。0 码力 | 342 页 | 27.39 MB | 1 年前3
 Hello 算法 1.0.0b4 C#版2. 链表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.3. 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4. 小结 . 5.4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6. 散列表 91 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 本书主要内容包括: ‧ 复杂度分析:数据结构和算法的评价维度,算法效率的评估方法。时间复杂度、空间复杂度的推算方 法、常见类型、示例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、散列表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。0 码力 | 341 页 | 27.39 MB | 1 年前3
共 354 条
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 36
 













