算法与数据结构
文章平均质量分 61
Cytues
这个作者很懒,什么都没留下…
展开
-
算法笔记7----狄克斯特拉算法
本章内容:继续图的讨论,介绍加权图----提高或降低某些边的权重介绍狄克斯特拉算法,能让你找出加权图中前往X的最短路径介绍图中的环,它导致狄克斯特拉算法不管用广度优先算法指出的是段数最少的路径。找出最快的路径需要使用狄克斯特拉算法。7.1使用狄克斯特拉算法狄克斯特拉算法包含4个步骤:(1)找出最便宜的节点,即可在最短时间内前往的节点。(2)对于该节点的邻居,检查是否有前往它们更短的路径,如果有,就...原创 2018-05-17 10:58:36 · 258 阅读 · 0 评论 -
牛客网----字节跳动历年校招笔试题
链接:https://www.nowcoder.com/questionTerminal/e35d8c3404194cd69a88da1667ef8081来源:牛客网 P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, ...原创 2018-10-06 22:37:37 · 7604 阅读 · 0 评论 -
字节跳动校招笔试题汇总
1. 世界杯开幕式思路:跟leetcode上求岛屿数量问题很像,使用DFS,这里要注意的是搜索方向从4个变成了8个,并且要输出最大区域里的人数。# coding:utf-8M, N = list(map(int, raw_input().split(',')))book = []for i in range(M): line = list(map(int, raw_...原创 2018-10-06 17:58:06 · 31421 阅读 · 0 评论 -
英伟达 2019校园招聘Web Services-2018.09.04(python版)
原文:https://blog.csdn.net/whl_program/article/details/82431762结果应该输出1.思路:约瑟夫环问题# coding:utf-8def circle(n, m): a = [None] * 1001 # 死亡人数 dead = 0 # 报数 count = 0 res...原创 2018-10-12 18:45:10 · 250 阅读 · 0 评论 -
软件测试基本分类----黑盒测试和白盒测试
黑盒测试黑盒测试又叫功能测试、数据驱动测试或给予需求规格说明书的功能测试。这种测试注重于测试软件的功能性需求。采用这种测试方法,测试工程师把测试对象看作一个黑盒子,不需要考虑程序内部的逻辑结构和特性,只需要依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试能更好更真实的从用户角度来考察被测系统的功能性需求实现情况。在软件测试的各个阶段,如单元测试、集成测试、系统测试及确认测试等...原创 2018-06-12 22:41:29 · 9682 阅读 · 0 评论 -
算法学习笔记1----算法简介
1.1算法是一组完成任务的指令,任何代码片段都可视为代码。1.2二分查找:在一个有序的元素列表(必须有序)。如果要查找的元素包含在列表中,则返回其位置;否则返回null。工作原理:每次都从列表的中间进行查找,每次都排除一半的数字。例:在1-100中找到一个我想的数。从50开始,小了,就找50-100之间的数75,大了,就找1-50之间的数25;以此类推,每次减少一半的数字,最终找到想要的数。100...原创 2018-04-23 17:28:12 · 715 阅读 · 1 评论 -
算法笔记2----选择排序
2.1.内存的工作原理把计算机的内存看作一个个带有地址的抽屉,把需要存放的东西放进内存中。将数据存储到内存时,请求计算机提供存储空间,计算机就会提供一个存储地址。当需要存储多项数据时,有两种基本方式----数组和链表。2.2.数组和链表链表:链表中的元素可以存储在内存的任何地方。 链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。 在链...原创 2018-04-23 18:28:29 · 212 阅读 · 0 评论 -
算法学习笔记3----递归
内容:学习递归。递归是很多算法都使用的一种编程方法学习将问题分成基线条件和递归条件。递归,是一种优雅的问题解决方法递归只是让解决方法更清晰,并没有性能上的优势。使用递归能让程序更容易理解。3-2.基线条件和递归条件由于递归函数是自己调用自己来实现的,因此编写这样的函数很容易进入死循环>>> def like(i):... print i... like(i-1...原创 2018-05-12 15:36:30 · 182 阅读 · 0 评论 -
算法笔记4----快速排序
4.1D&C的工作原理:(1)找出简单的基线条件 (2)确定如何缩小问题的规模,使其符合基线条件D&C并非可用于解决问题的算法,而是一种解决问题的思路。类似使用递归。第一步找出基线条件,也就是最简单的值第二步每次递归调用都必须离结果更近一点,这样给函数传递的数组一次比一次短,就达到了缩小问题规模的目的,大--->小提示:编写...原创 2018-05-12 16:17:47 · 141 阅读 · 0 评论 -
算法笔记5----散列表
本章内容:学习散列表----最有用的基本数据结构之一。 学习散列表的内部机制:实现,冲突和散列函数。5.1散列函数散列函数是这样的函数,即无论你给它什么数据,它都还你一个数字。要求:散列表必须是一致的。 它将不同的输入映射到不同的数字。散列函数总是将同样的输入映射到相同的索引。同样的将不同的输入映射的不同的索引,各个数字都只有唯一对应的输入值。散列函数...原创 2018-05-14 11:48:42 · 147 阅读 · 0 评论 -
算法笔记6----广度优先搜索
本章内容:学习使用新的数据结构图来建立网络模型 学习广度优先搜索 学习有向图和无向图 学习拓扑排序,这种排序算法指出了节点之间的依赖关系广度优先算法是一种图算法,能让你找出两样东西之间的最短距离。解决最短路径问题的算法被称为广度优先搜索。6.2图是什么图用于模拟不同的东西是如何相连的。6.3广度优先搜索6.3...原创 2018-05-14 19:54:12 · 201 阅读 · 0 评论 -
数据结构笔记----搜索,排序和复杂度分析
算法描述了最终能解决一个问题的计算过程。可读性和易维护性是重要的质量指标。在计算机上运行算法会消耗两种资源:处理时间和空间或内存。当解决相同的问题或处理相同的数据集的时候,消耗这两种资源较少的算法会比消耗资源更多的算法具有更高的质量,因此,它也是更加合适的算法。3.1.1度量算法的运行时间# -*- coding:utf-8 -*-import timeproblemSize = 10000...原创 2018-05-21 20:43:47 · 265 阅读 · 0 评论 -
算法笔记8----贪婪算法
本章内容:学习NP完全问题,如何处理不可能完成的任务。学习识别NP完全问题,以免浪费时间去寻找解决它们的快速算法。学习近似算法,使用它们可快速找到NP完全问题的近似解。学习贪婪策略----一种非常简单的问题解决策略。8.1教室调度问题贪婪算法的优点----简单易行。每步都采取最优的做法。就是每步都选择局部最优解。8.2近似算法在获得精确解的时间太长时,可以使用近似算法。判断近似算法的优劣标准如下:...原创 2018-05-17 11:28:14 · 296 阅读 · 0 评论 -
去哪儿网历年笔试题
# -*- coding:utf-8 -*-class ChkExpression: def chkLegal(self, A): # write code here stack = [] for i in A: if i == '(' or i == '[' or i == '{': ...原创 2018-10-10 08:29:42 · 1600 阅读 · 0 评论