10 2018 档案

摘要:冒泡排序,有时也称为下沉排序,是一种简单的排序算法,它反复遍历要排序的列表,比较每对相邻的项目,如果它们的顺序错误则交换它们。 重复遍历列表,直到不需要交换,这表示列表已排序。 该算法是一种比较排序,以较小或较大元素“冒泡”到列表顶部的方式命名。 尽管算法很简单,但即使与插入排序相比,它对于大多数问 阅读全文
posted @ 2018-10-28 19:28 Jeffrey_Yang 阅读(480) 评论(0) 推荐(0)
摘要:概念 Python中的Dict是一种使用最为普遍的数据结构,特别是数据之间具有关联关系时。上一博文提到了 "hash function和hash table的概念" ,现在来用代码实现HashTable。 我们通过两个list来分别存储key和value,这就要求两个list的大小一致,在对应的in 阅读全文
posted @ 2018-10-27 20:56 Jeffrey_Yang 阅读(1977) 评论(0) 推荐(0)
摘要:今天在《Problem Solving with Algorithms and Data Structures》一书中读到了关于hash table与hash function相关的内容,在这里做个记录,加深印象。 概念介绍 和顺序搜索以及二分搜索相比,通过hash表查找指定内容更快,通常其时间复杂 阅读全文
posted @ 2018-10-27 14:49 Jeffrey_Yang 阅读(561) 评论(0) 推荐(0)
摘要:概念介绍 上一博文已经介绍了Python实现单向无序链表的实现方式,这篇博文来介绍Python如何实现单向有序链表。有序和无序仅仅指节点所包含的数据成员的大小排列顺序,有序指各个节点按照节点数据成员的大小顺序排序,从大到小或从小到大。无序则可以任意排列。 链表节点实现 实现方式完全同单向无序列表,这 阅读全文
posted @ 2018-10-23 23:30 Jeffrey_Yang 阅读(1544) 评论(0) 推荐(0)
摘要:概念介绍 在计算机科学中,链表代表着一种多个数据元素的线性集合。链表的顺序不由其在内存中的物理位置决定,而是通过每一个元素指向另一个元素来实现。链表中,一个实体对象为一个节点(Node),每个节点同时保存其数据(data)和一个引用(reference)指向另一个节点。特别需要说明的是,链表这种数据 阅读全文
posted @ 2018-10-22 22:36 Jeffrey_Yang 阅读(2839) 评论(0) 推荐(0)
摘要:Deque这种数据结构结合了Stack和Queue的特点,元素可以从两边添加,也可以从两边移除。 依然通过List来构造该数据类型: rear可以看作是List的左边,front为List的右边。两边都能添加和删除元素。 Palindrome Checker为经典的回文问题,若字符串无论从左往右还是 阅读全文
posted @ 2018-10-21 14:40 Jeffrey_Yang 阅读(168) 评论(0) 推荐(0)
摘要:概念介绍 Queue队列这种数据结构和Stack都是线性结构,但其主要区别是Stack为LIFO,而Queue为FIFO。以List作为来构造Queue,则每当有新的元素进入队列时,将其插入到index为0的位置。 Hot Potato就是一个经典的应用Queue思想的游戏:想象几个儿童围成一圈,以 阅读全文
posted @ 2018-10-21 14:29 Jeffrey_Yang 阅读(429) 评论(0) 推荐(0)
摘要:软件【Software】: 软件(software)是计算机中与硬件(hardware)相结合的一部分,包括程序(program)和文档(document)。用一个等式表示为:软件=程序+文档。其中,“程序”指的是能够实现某种功能的指令的集合,如C语言程序,Java程序等;“文档”指的是在软件开发、 阅读全文
posted @ 2018-10-20 14:21 Jeffrey_Yang 阅读(1264) 评论(0) 推荐(0)
摘要:软件缺陷满足的规则(满足其一即可): (1)软件未实现产品说明书要求的功能 (2)软件出现了产品说明书指明不应该出现的错误 (3)软件实现了产品说明书未提到的功能 (4)软件未实现产品说明书虽未明确提及但应该实现的目标 (5)软件难以理解、不易使用、运行缓慢或者 从测试员的角度——最终用户认为不好 阅读全文
posted @ 2018-10-20 14:19 Jeffrey_Yang 阅读(187) 评论(0) 推荐(0)
摘要:1、端正对软件测试工作的认识 职业教育(认为不能发现所有错误,责任心不够),总结测试经验(认为测试工作无创造性,枯燥),测试是技术和经验的总结(认为技术比开发人员差)。软件测试的任务是站在使用者的角度上,代表用户通过不断地使用和攻击刚开发的软件产品尽量多地找出产品存在的问题或错误(Bug),用户满意 阅读全文
posted @ 2018-10-20 14:18 Jeffrey_Yang 阅读(2283) 评论(0) 推荐(0)
摘要:一、分类角度 1、是否关心软件内部结构和具体实现的角度:”白盒“测试、”黑盒“测试和”灰盒“测试 2、软件开发的过程的角度:单元测试、集成测试、确认测试、系统测试、验收测试和回归测试 3、测试执行时是否需要人工干预的角度:人工测试和自动化测试 4、测试实施组织的角度:开发方测试、用户测试、第三方测试 阅读全文
posted @ 2018-10-20 14:17 Jeffrey_Yang 阅读(499) 评论(0) 推荐(0)
摘要:直接贴代码,很简单。通过不断模运算base(进制)。每次取得余数后进栈,最后依次出栈排列。 阅读全文
posted @ 2018-10-09 23:02 Jeffrey_Yang 阅读(135) 评论(0) 推荐(0)
摘要:Python 堆栈(stack)实例 阅读全文
posted @ 2018-10-07 23:15 Jeffrey_Yang 阅读(712) 评论(0) 推荐(0)
摘要:binary search breadth_first_search Dijkstra’s algorithm Four steps to Dijkstra's algorithm 1. Find the “cheapest” node. This is the node you can get t 阅读全文
posted @ 2018-10-03 00:14 Jeffrey_Yang 阅读(614) 评论(0) 推荐(0)