C++中的广度优先搜索

Breath First Search是一种用于图数据结构的图遍历技术。它逐级进行。图是树状的数据结构。为了避免在遍历图的过程中访问节点,我们使用BFS。

在这个算法中,假设我们从节点 x 开始,然后我们将访问 x 的邻居,然后访问 x 的邻居的邻居,依此类推。

算法

为了使用BFS遍历图,我们使用队列来存储节点和数组数据结构来区分未访问的节点。

  • 1 . 创建空队列并将未访问的顶点推送到它。
  • 2 . 除非队列为空,否则请执行以下操作。
    • 2.1从队列中弹出元素
    • 2.2将弹出节点的未访问的相邻节点推入队列。

考虑这张图

根据[……]

继续阅读

React 超级教程,第 4 章:路由和​​页面导航

总目录

您在第 2 章中安装的React Router包为 SPA 实现了一个完整的页面导航系统。在本章中,您将学习如何创建客户端路由并在它们之间导航。

创建页面组件

在严格的浏览器意义上,页面的概念并不真正适用于 SPA,因为 SPA 只有一个页面。在 SPA 中,页面只是顶级应用程序状态,用于指示应用程序在浏览器中的呈现方式。与传统页面一样,SPA 中的每个页面都可以与/login或/user/susan等路径相关联,但这些路径由客户端应用程序管理,永远不会到达服务器。

React-Router 包会跟踪这些页面状态,并使用适当的 URL 路径自动更新浏览器的地址栏[……]

继续阅读

现代CSS 100天:第 6 天::has() 伪类

是时候让我跟上现代 CSS 的速度了。
CSS 中有很多新东西我知道的太少了。
为了改变这一点,我开始了#现代CSS100天。
为什么或多或少现代 CSS?
因为有些主题将是关于尖端功能的,而其他主题已经存在了很长一段时间,但我对此几乎没有经验。

:has()允许您检查父元素是否包含特定的子元素。

在以下示例中,每个.form-item包含/具有aria-invalid属性设置为“true”的子级的每个都以红色显示文本。(目前仅在Chrome/Edge 105+ 和 Safari 15.4+ 中)

请参阅 CodePen[……]

继续阅读

从头开始创建 QML 控件:ScrollBar

继续我们从 头 开始的 QML 控件系列,这次我们将实现一个垂直 ScrollBar,这是您在垂直滚动项目列表时经常在触摸用户界面右侧看到的垂直线段。ScrollBar 与本系列中的其他控件有很大不同,因为它不能在 qmlscene 中独立运行。相反,它被设计为ListView或GridView(ScrollBar 的父级)的直接子级。ScrollBar 的位置 (y) 和高度通过一些数学计算,基于Flickable的contentHeight和contentY的比例,如下图所示。

如果将 qmlscene 调整到足够短的高度,您可以在 Test.qml 的右侧看到一个 Scroll[……]

继续阅读

分类: C++标签:

从零开始学Perl

课程大纲

Perl 是世界上最流行的文本处理语言之一。它允许您为各种应用程序创建极其高效的文本解析器。这个交互式课程将帮助您快速了解 Perl,从循环、字符串和数组等基本概念开始…

课程内容

1. 入门

什么是 Perl?

Hello World

注释

测验自己的评论和打印文本。

挑战:打印文本

解决方案回顾:打印文本

2.变量

变量和数据类型

变量快速测验

变量变量

挑战:制作变量

解决方案回顾:制作变量

3. 运算符

算子介绍

优先级和关联性

关系运算符

逻辑运算符[……]

继续阅读

从零开始学Ruby

技巧总结

  • 了解如何使用 Ruby 作为您的第一门编程语言进行编程。
  • 学习惯用的 Ruby。
  • 了解块、大量方法和其他内容,例如在 Ruby 中使用正则表达式。
  • 课程大纲

    你想成为解释语言的极客吗?您是否厌倦了纠缠于密集的语法?首先将代码编译为机器语言会让您感到恼火吗?您是否正在寻找一种易于使用的脚本语言?那么,Ruby 是您的最佳选择!Ruby是个小…

    课程内容

    1. 大局

    编程就是创造

    Ruby 是面向对象的

    2.变量

    什么是变量?

    重用变量名

    正确的事情先行

    变量测验

    3. 内置类:数字

    使用数字

    数字[……]

    继续阅读

    从零开始学C

    课程大纲

    您想从头开始掌握基本的编程概念吗?您是否觉得有必要更好地理解这一切是如何运作的?好吧,你来对地方了。本课程概述了数据类型、控制流、函数、输入/输出、内存、编译…

    课程内容

    隐藏所有课程

    1. 为什么用 C 语言编程?

    什么是C?

    优点与挑战

    什么时候应该使用 C?

    底线

    参考

    2. 基本类型、运算符和表达式

    打印报表

    变量

    数据类型和大小

    常数

    声明

    表达式

    类型转换

    使用 typedef 定义您自己的类型名称

    递增和递减运算符

    基本类型、运算符和表达式的练习[……]

    继续阅读

    从零开始学PHP

    课程大纲

    这个高度互动的课程向您介绍 PHP 的基本编程概念,PHP 是世界上最流行的语言之一。它从一个简单的 Hello world 程序开始,然后涵盖了常见概念,例如条件语句、循环语句和 P 中的逻辑…

    课程内容

    隐藏所有课程

    1. 入门

    Hello World

    “Hello World”解释

    测验

    挑战:显示输出

    2.变量

    变量和数据类型

    变量快速测验

    变量变量

    常数

    挑战:制作变量

    3. 运算符

    算子介绍

    算术运算符

    优先级和关联性

    比较运算符

    逻辑运算符[……]

    继续阅读

    从零开始学JavaScript、HTML和CSS

    课程大纲

    在这个面向初学者的交互式 Web 开发课程中学习使用 HTML、CSS 和 JavaScript 编写代码和创建自己的网页。与其观看乏味的视频并想知道如何将这些视频翻译成真正的代码,您将通过互动练习您学到的东西……

    课程内容

    1. 带有 HTML 的语义网页布局

    什么是 HTML?

    属性+超链接

    标题+列表

    内联与块元素 + div

    id + class 属性

    img 元素

    深入研究语义

    HTML 表格

    HTML 表单

    2. 使用 CSS 样式化 HTML 内容

    什么是 CSS?

    级联简[……]

    继续阅读

    从零开始学Go

    课程大纲

    随着摩尔定律的生命周期即将结束,对并发的需求正在上升,因此,对能够有效实现并发程序的编程语言的需求也在上升。出于这个原因,Go 已成为…中最受欢迎的语言之一。

    课程内容

    1. 基础

    变量和推断类型

    常数

    印刷

    包和导入

    代码位置

    导出的名称

    函数和返回值

    指针

    可变性

    Go 变量测验

    2.类型

    基本类型

    类型转换

    类型断言

    结构

    初始化

    组合与继承

    类型测验

    作文练习

    3. 集合类型

    使用数组​

    Go 中的切片

    for 循环中[……]

    继续阅读