首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深度优先搜索及java实现

深度优先搜索是图里面一种基础的搜索算法,英文简写DFS(depth First Search),深度优先搜索采用的方式是“”耿直boy型恋爱方式”--不撞南墙不回头,本文采用的图如下图所示: 下面是DFS...private List adjList; //统计该节点在图顶点数组下标,对广度搜索非必要属性,仅用于统计使用 private int index ; //发现时间 public...遍历完子节点 v.setColor(VertexColor.BLACK); time = time +1; v.end = time; } } 输出结果如下...: 节点:1发现时间:1,截止时间为:12,上一节点为:0 节点:2发现时间:2,截止时间为:11,上一节点为:1 节点:3发现时间:13,截止时间为:14,上一节点为:0 节点:4发现时间:3,...截止时间为:8,上一节点为:2 节点:5发现时间:4,截止时间为:7,上一节点为:4 节点:6发现时间:5,截止时间为:6,上一节点为:5 节点:7发现时间:9,截止时间为:10,上一节点为:2

68220

乐优项目:编写数据导入功能,实现基本搜索,实现页面分页,实现结果排序-(七)

1.2.1.以结果为导向大家来看下搜索结果页:可以看到,每一个搜索结果都有至少1个商品,当我们选择大图下方的小图,商品会跟着变化。因此,搜索的结果是SPU,即多个SKU的集合。...1.2.2.需要什么数据再来看看页面中有什么数据:直观能看到的:图片、价格、标题、副标题暗藏的数据:spu的id,sku的id另外,页面还有过滤条件:这些过滤条件也都需要存储到索引库中,包括:商品分类、...2.3.1.保存搜索结果首先,在data中定义属性,保存搜索的结果:在loadData的异步查询中,将结果赋值给goodsList:2.3.2.循环展示商品在search.html的中部,有一个div,...这是因为Vue的自动渲染是基于对象的属性变化的。比如页面使用GoodsList进行渲染,如果GoodsList变化,或者其内部的任何子对象变化,都会Vue感知,从而从新渲染页面。...为什么?因为Vue实例初始化的钩子函数中,我们读取请求参数,赋值给search的时候,也触发了watch监视!

16510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    单页应用的HATEOAS实战 | 洞见

    理解Link中的“cancel”的消费者知道使用delete方法访问其“href”的uri可以取消该订单。...理解Link中的“payment”的消费者知道使用post方法访问其“href”的uri可以为该订单付款。...想象一下,如果某个API的响应中多了一个新的Link,敏感的开发者可能就会询问这个Link是用来做什么的,是一个新的特性吗?虽然看起不起眼,但这往往使两个团队的成员沟通起来更容易。...在摸索中前进,自由地重命名你的资源 我们常说在敏捷开发中,应该拥抱变化。所以敏捷开发中推崇重构、单元测试、持续集成等技术,因为它们可以使变化更容易、更安全。HATOEAS也是这样一种技术。...page, size}" }, "searchUsers": { "href": "http://localhost:8080/users/search{?

    96540

    【安全】XSS 类型

    常见在搜索页,搜索的时候会跳转,为了通信,我们需要把搜索内容放在链接上 然后搜索结果页,需要显示当前搜索的是什么内容,所以就会把 链接上的 搜索内容 插入到页面中 比如在淘宝首页中输入信息 ?...3DOM-Base 型 XSS dom-base 攻击是基于DOM的一种漏洞,使用 DOM 相关的属性和方法,把脚本插入到标签中 常用攻击手法就是, 闭合属性引号,强行给 标签添加额外 内容 我来假设一个场景...search='+ str + '">' 然后在输入框输入 " onclick='alert(1)' " 点击搜索之后,就把输入框的内容当做 str 拼接到 a 标签中 'href="http...search='+ str + '">' 这样就成功地给标签添加上了 click 事件,攻击一触即发! 加一个时间可能没什么卵用,但是我们要插入 script 标签,作用就大了 怎么插呢?...结果,没错,第二天就被盗号了 那么,这个攻击的重点是什么?

    1K10

    浏览器中的JavaScript核心BOM(浏览器对象模型)重点掌握对象之Location对象的属性与方法

    浏览器中内置对象Location详解 引言 正文 一、Location对象的作用 二、Location对象的引用 三、Location对象的属性 四、Location对象的方法 结束语 引言 在学过JavaScript...之后,我们都知道对象分为内置对象 、宿主对象 、自定义对象,我们经常用到的浏览器中的内置对象就是宿主对象的一种,浏览器的内置对象有很多,本文就来详细讲解一下Location对象的属性与方法吧。...三、Location对象的属性 我们来看一下Location对象的属性,下面用一张表格来呈现: 属性 描述 href 设置或返回完整的URL protocol 设置或返回URL的协议部分 host 设置或返回主机名和...//给当前页面的location对象的href属性赋值一个新的URL地址 location.href = "https://blog.csdn.net/L_PPP" 我们来看一下给href属性赋值后,...可以看到,给href属性赋值后,当前页面的URL发生了改变,并发生了相应的页面跳转。同样的其他的属性也是可以进行赋值的,大家可以自行测试一下。

    67510

    不知道给女朋友买什么 ?让爬虫告诉你 !

    但事情总是要解决,小编萌生了一个想法,在某购物网站搜索关键字,然后将搜索结果进行词频分析,这样不就知道有什么东西是大家买的比较多的了么?说干咱就干。...实际中我们只用到了title这个属性,但是出于习惯,将能用到的内容全部都提取出来,方便以后使用。标签都比较好寻找,就不单列方法,下面是全部元素的定位代码。...下一步就是不断提取下一页的链接,并不断访问提取数据。 在搜索结果中点击下一页,观察url变化。(比较过程略) 通过观察比较,我们可以得到一个规律。...在url中必须传的参数有keyword(搜索关键字)、enc(编码)、s(内容数量)、page(当前页)。其中只有page是变化参数,其他都是固定参数。...一些话 看了这个词云结果,想到的是什么?反正小编是一脑子的懵*,这**跟我想的不一样啊,看了这个结果仍然对我没什么帮助啊,可是已经写完了还能怎么办呢?当然是分享出来给小伙儿伴们看一下了。

    50210

    大伙,为啥我爬虫爬百度搜索得出的结果是0啊?

    一、前言 前几天在Python白银交流群【~Crazy】问了一个Python网络爬虫处理的问题,这里拿出来给大家分享下。 二、实现过程 这里【eric】给了一个指导,可能是网页结构变化。...这里【甯同学】发现了问题所在,如下图所示: 顺利地解决了粉丝的问题。 修改后的代码可以正常的爬出结果。...): os.remove(result_file) print('结果文件({})存在,已删除'.format(result_file)) baidu_search...代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。...大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting1),应粉丝要求,我创建了一些高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群

    42160

    1.ActionBar

    所以,为你的activity添加actionbar,只需简单地设置属性为11或者更大。 常用操作: 搜索  Actionbar允许你为当前上下文中最重要的操作添加按钮。...那些直接出现在actionbar中的icon和/或文本被称作action buttons(操作按钮)。安排不下的或不足够重要的操作被隐藏在actionoverflow中。...1.所有的操作按钮和actionoverflow中其他可用的条目都被定义在菜单资源的XML文件中。通过在项目的res/menu目录中 新增一个XML文件来为actionbar添加操作。...(V7、V4只是功能功能不一样,没有升级的说法,要兼容低版本就要全部导V7的包,另外需要自定义命名空间) <menu xmlns:android="http://schemas.android.com...  在不是主要入口的其他所有屏中(activity不位于主屏时),需要在actionbar中为用户提供一个导航到逻辑父屏的up button(向上按钮)。

    93750

    1.ActionBar

    所以,为你的activity添加actionbar,只需简单地设置属性为11或者更大。 常用操作: 搜索 Actionbar允许你为当前上下文中最重要的操作添加按钮。...那些直接出现在actionbar中的icon和/或文本被称作action buttons(操作按钮)。安排不下的或不足够重要的操作被隐藏在actionoverflow中。...1.所有的操作按钮和actionoverflow中其他可用的条目都被定义在菜单资源的XML文件中。通过在项目的res/menu目录中 新增一个XML文件来为actionbar添加操作。...(V7、V4只是功能功能不一样,没有升级的说法,要兼容低版本就要全部导V7的包,另外需要自定义命名空间) 的其他所有屏中(activity不位于主屏时),需要在actionbar中为用户提供一个导航到逻辑父屏的up button(向上按钮)。

    59510

    requests-html快速入门

    我立马摔了他的,结果我的还能用,他的坏了。高潮是人家立刻出门买了个新的!我艹,是不是中计了??'...需要注意的一点是如果XPATH中包含text()或@href这样的子属性,那么结果相应的会变成简单的字符串类型,而不是HTML元素。...要搜索元素的文本内容,用search函数,比如说我们现在想知道是糗事什么科: print(e.search("糗事{}科")[0]) # 百 最后还有前面提到的两个链接属性: print(e.absolute_links...JavaScript支持 有些网站是使用JavaScript渲染的,这样的网站爬取到的结果只有一堆JS代码,这样的网站requests-html也可以处理,关键一步就是在HTML结果上调用一下render...session.get('http://httpbin.org/get', headers={'user-agent': ua}) pprint(json.loads(r.html.html)) 可以看到UA确实发生了变化

    1.4K71

    【Vue.js——关键字匹配】搜一搜呀(蓝桥杯真题-1762)【合集】

    " placeholder="请搜索">: v-model="search":使用 Vue 的 v-model 指令将输入框的值与 Vue 实例中的 search 数据属性进行双向绑定。...输入的关键字通过 v-model 绑定到 Vue 实例的 search 属性。 Vue 的响应式系统会检测到 search 属性的变化。...由于 filteredList 是一个计算属性,它会重新计算。 在 filteredList 的计算逻辑中: 如果 search 为空,返回完整的 postList 数组。...最终,v-for="post in filteredList" 会根据 filteredList 计算属性的结果更新页面显示,只显示符合搜索关键字的帖子。 4....用户输入的关键字会触发 Vue 实例中数据的更新,进而触发计算属性的重新计算,最终更新页面上显示的帖子列表,仅显示那些标题中包含用户输入关键字的帖子。

    2500

    紧急安全公告—BadTunnel漏洞修复—2016年6月20日

    b) 单击要静态配置的“本地连接”,然后从“文件”菜单中,单击“属性”。c) 在组件列表中,单击“Internet 协议 (TCP/IP)”,然后单击“属性”。...:http://catalog.update.microsoft.com/v7/site/Search.aspx?...b) 单击要静态配置的“本地连接”,然后从“文件”菜单中,单击“属性”。c) 在组件列表中,单击“Internet 协议 (TCP/IP)”,然后单击“属性”。...b) 单击要静态配置的“本地连接”,然后从“文件”菜单中,单击“属性”。 c) 在组件列表中,单击“Internet 协议 (TCP/IP)”,然后单击“属性”。...b) 单击要静态配置的“本地连接”,然后从“文件”菜单中,单击“属性”。 c) 在组件列表中,单击“Internet 协议 (TCP/IP)”,然后单击“属性”。

    1.7K40

    商城项目-页面分页效果

    不过,这个时候我们自己的search对象中的值就可有可无了 3.1.2.后台提供数据 后台返回的结果中,要包含total和totalPage,我们改造下刚才的接口: 在我们返回的PageResult对象中...OK 3.1.3.页面计算分页条 首先,把后台提供的数据保存在data中: 然后看下我们要实现的效果: 这里最复杂的是中间的1~5的分页按钮,它需要动态变化。...不过,如果我们直接发起ajax请求,那么浏览器的地址栏中是不会有变化的,没有记录下分页信息。如果用户刷新页面,那么就会回到第一页。 这样不太友好,我们应该把搜索条件记录在地址栏的查询参数中。...因此,我们监听search的变化,然后把search的过滤字段拼接在url路径后: watch:{ search:{ deep:true, handler...为什么? 因为Vue实例初始化的钩子函数中,我们读取请求参数,赋值给search的时候,也触发了watch监视!

    1.5K21

    你会用到的 15个前端小知识

    在这些表象的背后呢,实际上是行业对开发人员的要求发生了天翻地覆的变化,以往前端写 demo,套模板,调页面这种刀耕火种的方式已经完全不符合当下对开发效率的要求,前端工程化就是在这样一个背景下被提上台面,...我也忘记我在什么情况下用到过了,后面想起来再补吧。 11.calc 这是一个 css 属性,我一般称之为 css 表达式。可以计算 css 的值。最有趣的是他可以计算不同单位的差值。...通常情况下我们想要监视数组的变化,基本要依靠重写数组方法的方式实现,这也是 Vue 的实现方式,而 Proxy 可以直接监视数组的变化。...14.解析 get 参数 通过 replace 方法获取 url 中的参数键值对,可以快速解析 get 参数。 const q = {}; location.search.replace(/([^?...中的属性 aEle.protocol; // 获取协议 aEle.pathname; // 获取path aEle.origin; aEle.host; aEle.search;

    93110

    100行Python代码轻松开发个人博客

    图1 2 编写多页面Dash应用 2.1 Location()的基础使用 要想在Dash中实现url路由功能,首先我们需要捕获到浏览器中地址栏对应的url是什么,这在Dash中可以通过在app.layout...我们使用官方依赖库dash_core_components中的Location()部件来实现上述功能,它的核心参数或属性有href、pathname、search和hash,让我们通过下面的例子来直观的了解它们各自记录了地址栏...()捕获到地址栏对应信息的变化,并以这些信息作为回调函数的输入,来输出相应的页面内容变化,让我们从下面这个简单的例子中get上述这一套流程的运作方式: ❝app2.py ❞ import dash import...,而它的功能可不止监听url变化这么简单,我们还可以利用它在Dash中实现「重定向」,使用方式简单一句话描述就是将Location()作为对应回调的输出(记住一定要定义id属性),这样地址栏url会在回调完成后对应跳转...而dash_core_components中的Link()部件则是很好的替代,它的基础属性与A()无异,但额外的refresh参数默认为False,会在点击后进行Dash应用内跳转时无缝切换,页面不会整体刷新

    23810

    【React】945- 你真的用对 useEffect 了吗?

    在这个 effect 中,我们设置了 document 的 title 属性,不过我们也可以执行数据获取或调用其他命令式的 API。 为什么在组件内部调用 useEffect?...我的思路是,先设置这个接口的返回值为data=[], 等到数据是再去请求另一个接口,即data作为useEffect的第二个参数传入。 但是不知道为什么会造成死循环,拿不到我们想要的结果。...每次点击按钮时,会把search的值设置为query,这个时候我们需要修改useEffect中的依赖项为search,这样每次点击按钮,search值变更,useEffect就会重新执行,避免不必要的变更...next —— 它指向下一个定义在函数组件中的 effect 节点 除了 tag 属性,其他的属性都很简明易懂。...然后我们就可以使用符号(&)检查某个 tag 属性是否能触发一个特定的行为。如果结果是非零的,就表示可以。

    9.6K20
    领券