自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liitdar的博客

逆水行舟,不进则退

  • 博客(194)
  • 收藏
  • 关注

原创 “3Sum”类问题介绍

3Sum”类问题,属于已排序的“Two Sum”类问题的升级版,都是给定一个已排序(升序或降序)的整型数组,然后在该数组中寻找若干个值,这些值的总和等于给定的target值。

2023-04-03 21:37:41 674 1

原创 计数排序(Counting Sort)算法介绍

Counting sort是一种基于给定范围数值的排序技术。该算法首先计算给定输入序列(如数组)中每个对象的数量,同时将对象数量值存储在临时数组的对应索引处,最后通过一系列算术操作计算出每个对象在输出序列中的位置。

2023-03-29 18:49:15 822

原创 C++编程语言STL之begin和end函数介绍

c.begin()形式:返回指向容器首元素的iterator;begin(array)或begin(c)形式:返回数组的头指针。c.end()形式:返回指向紧挨尾元素的元素的iterator;end(array)或end(c)形式:返回紧挨数组尾指针的指针。说明:对于end函数来说,给定范围的“终止点”并不包含在给定范围内,而是紧挨着范围内最后一个可用元素的元素。c: 包括begin成员函数/end成员函数的容器;array: 任意类型的数组。

2023-03-29 11:36:47 3194

原创 C++编程语言STL之sort函数介绍

sort函数是C++的STL提供的用于对vector或array(中元素)进行排序的函数。sort函数通常使用两个参数,第一个参数是vector或array中待排序的起始点;第二个参数以起始点为基准、加上待排序的长度得到的终止点。sort函数也有第三个参数,当我们想要对元素进行灵活地(如“降序”等)排序时,就可以使用第三个参数了。默认情况下,sort函数以升序排序元素。

2023-03-29 10:49:14 357

原创 “Two Sum”类问题介绍

对于“Two Sum”类问题,基本要求为:给定一个整数数组,在该数组中找到两个元素,这两个元素之和等于给定的数字(target),返回这两个元素的索引(下标)值。

2023-03-28 11:12:42 253

原创 C++编程语言STL之set及相关容器介绍

关联容器(associative-container)和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。虽然关联容器的很多行为与顺序容器相同,但其不同之处反映了关键字的作用。关联容器支持高效的关键字查找和访问。两个主要的关联容器类型为map和set。map中的元素是一些关键字-值(key-value)对:“关键字”起索引的作用,“值”则表示与索引相关联的数据。set中每个元素只包含一个关键字。

2023-03-27 20:55:16 468

原创 算法的时间复杂度和空间复杂度介绍

算法(Algorithm)是指用来操作数据、解决程序问题的方法。对于同一个问题,使用不同的算法,也许最终得到的结果是相同的,但在执行该算法所需的时间和(存储)资源可能会有很大的区别,那么我们应该如何去衡量不同算法之间的优劣呢?目前主要是从算法所占用的“时间”和“空间”两个维度去进行评价。时间维度是指执行算法所消耗的时间,通常用“时间复杂度”来描述,空间维度是指执行算法需要占用的内存空间大小,通常用“空间复杂度”来描述。

2023-03-19 18:07:39 1085

原创 树的几种遍历方法介绍

与线性数据结构(如数组、链表、队列、栈)只有一种遍历逻辑方法不同,树可以通过不同的方法进行遍历。常见的树的遍历方法包括:中序遍历(InOrder Traversal)、前序遍历(PreOrder Traversal)及后序遍历(PostOrder Traversal)。

2023-03-14 17:04:32 3546

原创 斐波那契数列(Fibonacci sequence)及相关问题介绍

本文主要介绍斐波那契数列(Fibonacci sequence)的相关知识,同时通过示例代码介绍相关问题的解决方法。

2023-03-14 15:59:36 392

原创 C++编程语言STL之stack介绍

适配器(adaptor)是STL中的一个通用概念。容器、迭代器和函数都有适配器。本质上,适配器是一种机制,它能使某种事物的行为看起来像另外一种事物。容器适配器接受一种已有的容器类型,使其行为看起来像另外一种不同的(容器)类型。stack就是STL定义的一种顺序容器适配器,其中的数据是以LIFO(Last In First Out)的方式组织的。

2023-03-09 16:37:46 622

原创 在Qt中设置鼠标光标形状的方法

本文主要介绍在Qt中设置鼠标光标形状的方法。

2023-01-03 14:46:19 3326

原创 在Qt中设置窗体背景颜色及透明度的方法

本文主要介绍在Qt中设置窗体背景颜色及透明度的方法。

2023-01-03 11:30:05 10846

原创 删除Microsoft Word中空白页的方法

本文中涉及到的Microsoft Word的版本信息为Microsoft Office Word 2016。

2022-11-01 16:55:30 1288

原创 Windows 10操作系统自带的远程桌面的使用方法

本文主要介绍Windows 10操作系统自带的远程桌面的使用方法。

2022-10-18 19:13:07 4590

原创 Windows 10操作系统中开启Ping功能(ICMP)的方法

本文主要介绍在Windows 10操作系统中开启Ping功能,即打开ICMP(Internet Control Message Protocol,即Internet控制报文协议)回显请求的方法。

2022-10-17 17:40:49 19409

原创 Shell脚本中for循环的使用方法

本文主要介绍Shell脚本中for循环的使用方法。说明:实际上,在Shell脚本中不止有一种for循环使用方法,本文通过简单的示例,展示for循环的使用方法。

2022-08-15 16:41:50 1691

原创 Shell脚本中$符号嵌套使用的方法

本文主要介绍在编写Shell脚本时,通过嵌套使用“$”符号,间接获取变量或表达式的值的具体方法。先说结论,在Shell脚本中,可以通过使用来实现$符号的嵌套使用。

2022-08-15 10:14:17 3269

原创 Windows 10操作系统常用快捷键介绍

功能描述:当文件资源管理器是当前窗口时,此快捷键会打开一个新的文件资源管理器窗口,其文件夹路径与当前窗口相同。说明:对于Chrome浏览器,此快捷键也有类似的作用(会打开一个新的浏览器窗口)。本文主要介绍Windows 10操作系统中常用的快捷键。快捷键:Windows键 + D。快捷键:Windows键 + E。功能描述:打开文件资源管理器。功能描述:显示或隐藏桌面。快捷键:Ctrl + N。

2022-06-17 10:00:12 1650

原创 Qt Creator 7.0的常见用法

Qt Creator是跨平台Qt集成开发环境(IDE),可在Windows、Linux和macOS桌面操作系统上运行,并允许开发人员在桌面、移动和嵌入式平台创建应用程序。Qt Creator的设计目标是使开发人员能够利用Qt这个应用程序框架更加快速及轻易地完成开发任务。

2022-06-17 09:17:37 708

原创 将图片背景设置为透明的方法

现有一张背景图为蓝色的png格式图片,如下图所示:下面介绍将该图片的背景设置为透明的方法。1. 使用“画图 3D”应用程序打开该图片;2. 在“画图 3D”界面中,点击“神奇选择”按钮(该操作默认会选择整个图片);3. 点击界面右侧的“下一步”;

2022-06-16 22:54:12 17300

原创 在Qt中设置程序图标的方法

1)可执行程序(以及对应的快捷方式)的图标2)程序界面标题栏图标3)程序在任务栏中的图标下面介绍使用Qt编写Windows桌面应用程序时,上面这三个图标的具体设置方法。

2022-06-16 20:48:19 12390

原创 Linux操作系统中make与makefile介绍

本文主要介绍Linux操作系统中make及makefile的相关知识。

2022-03-23 20:45:11 4492

原创 C/C++编程语言中指针(pointer)介绍

本文主要介绍C/C++编程语言中指针(pointer)的相关知识,同时通过示例代码介绍C/C++编程语言中指针的常见用法。

2022-02-26 20:07:24 3847

原创 Linux操作系统中awk语言的常见用法

引用Manual中对于awk的介绍,内容如下:通过上述描述可知,awk是一种模式扫描和处理语言,是一种用于文本文件处理的语言。

2022-02-17 16:39:09 516

原创 Linux操作系统中sed工具的常见用法

本文主要介绍Linux操作系统中sed(stream editor)工具的常见用法。引用Manual中关于sed工具的介绍,内容如下:根据sed官方用户手册介绍,sed是按行处理文本数据的,每次处理一行数据后,都会在行尾自动添加换行符。因此,如果要想使用sed处理多行内容,就需要用到sed的模式空间(pattern space),将多行内容读取到模式空间,然后再针对其中的多行内容进行处理了。例如,现有一个名为“test.conf”的文件,内容如下:现在想通过sed命令修改“test.conf”文件中的

2022-02-15 18:01:05 819

原创 SQL中WHERE子句介绍

SQL中的WHERE子句用于过滤记录,提取那些满足指定条件的记录。

2021-09-03 10:41:22 1319

原创 Linux操作系统中iftop命令的常见用法

Linux操作系统中的iftop命令来自iftop软件包。iftop软件包的描述如下:displaysManual中对于iftop的介绍信息如下:iftop -总结上述介绍信息,可知:iftop用于显示网口上的带宽流量信息。

2021-07-26 18:57:04 2763

原创 链表介绍(三)之在单向链表中删除节点

在单向链表中删除节点,首先要根据预先确定的节点标志,判断待删除节点是否存在于链表之中,如果链表中不存在该节点,则无需进行删除操作。待删除节点是链表的首节点;待删除节点不是链表的首节点(即该节点是中间节点或末尾节点)。下面通过伪代码的形式介绍在单向链表中删除节点的算法。算法:DeleteLinkedlist(list,target)目的:在单向链表中删除节点前提:链表和要删除的节点信息后续:无返回:新链表returnpre

2021-07-12 19:46:46 1117 1

原创 链表介绍(二)之在单向链表中插入节点

在单向链表中插入节点,是要将待插入节点插入到链表的“合适”位置中。所以,这里需要一个前提条件:单向链表中的各节点是按其某个成员(如学生的成绩)的值有序排列(如由小到大)的。只有具备了这个前提条件,才能进行针对单向链表的节点插入操作。找到链表中合适的位置;将节点插入到步骤1找到的位置中。下面通过伪代码的形式介绍实现上述两个步骤的算法。算法:InsertLinkedlist(list,new)目的:在单向有序链表中插入节点前提:链表和要插入的节点数据后续:无返回:新链表else。

2021-07-10 16:53:11 4349

原创 链表介绍(一)之创建单向动态链表及输出单向链表内容

链表是一个数据的集合,其中每个元素包含下一个元素的地址,即每个元素包含两部分内容:数据(data)和链(link)。数据部分包含可用的信息;链则将数据连在一起,它包含一个指向链表中下一个元素的指针(地址)。说明:链表中的元素习惯上被称为节点(node)。链表是动态地进行存储分配的一种数据结构,与数组相比,链表可以根据需要动态地开辟内存单元,并且链表中的节点在内存中是非连续的。

2021-07-09 17:41:09 939

原创 二分查找算法简介

如果一个列表是无序的,那么顺序查找(sequential search)是唯一可选的元素查找办法;但是对于有序列表(sorted list),就可以选择效率更高的二分查找(也称折半查找)算法。二分查找从一个列表的中间元素来测试,判断目标元素在列表的前半部分还是后半部分。如果在前半部分,就不需要查找后半部分;如果在后半部分,就不需要查找前半部分,也就是说,通过此判断可以减少一半的列表的查询工作。重复此过程直到找到目标元素的位置,或者确定目标元素不在这个列表里。

2021-06-24 14:50:08 281 2

原创 插入排序算法介绍

在插入排序中,数字列表可分为两个子列表:已排序的和未排序的,它们通过假想的一堵墙分隔开。在排序过程中,将未排序子列表中第一个元素(按照数字升降顺序)插入到已排序子列表中合适的位置,再将假想的这堵墙(根据实际情况朝着对应方向)移动一个元素位置,这样每次排序后,已排序子列表中的元素将增加一个,同时未排序子列表中的元素将减少一个,每次把一个元素从未排序子列表移动到已排序子列表就完成了一轮排序。一个含有“n”个元素的数字列表需要“n-1”轮排序来完成数据的重新排列。将假想墙放置在数字列表第一个元素的右侧。

2021-06-23 17:39:38 335 2

原创 媒体源扩展(MSE)介绍

MSE,即媒体源扩展,可以理解为一种API,其提供了实现无插件且基于Web的流媒体的功能。通过MSE,媒体串流能够通过JavaScript创建,并且可以使用HTML5的和标签进行播放。

2021-04-08 16:41:33 5010 2

原创 HTML5介绍

HTML5结合了HTML4.01的相关标准并革新,符合现代网络发展要求,在2008年正式发布,是构建以及呈现互联网内容的一种语言方式,是互联网的核心技术之一。HTML产生于1990年,1997年HTML4成为互联网标准,并广泛应用于互联网应用的开发。HTML5在2012年已形成了稳定的版本。

2021-03-31 10:03:57 2524 1

原创 HTML介绍

HTML,即超文本标记语言,是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。HTML文件的扩展名为htm(因为之前的文件系统最多只支持三位扩展名)或html。超文本。

2021-03-26 17:57:31 5103

原创 WebRTC简介

WebRTC,即网页即时通信,是一个支持网页浏览器进行实时语音对话或视频对话的API。WebRTC于2011年6月1日开源,并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。WebRTC项目的最终目的,是让Web开发者能够基于浏览器(Chrome\FireFox\...)简单快捷地开发出丰富的实时多媒体应用,而无需下载安装任何插件。在此过程中,Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的Javascript程序即可。

2021-03-25 12:46:07 376 2

原创 RTMP简介

RTMP,即实时消息(传输)协议,是由Adobe公司基于TCP开发的一个协议族,其中包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种协议。RTMP工作在TCP之上,默认使用端口1935;RTMPE在RTMP的基础上增加了加密功能;RTMPT封装在HTTP请求之上,可穿透防火墙;RTMPS类似RTMPT,增加了TLS/SSL的安全功能。RTMP与HTTP一样,都属于TCP/IP四层模型中的应用层。

2021-03-17 10:39:48 2021

原创 SDP简介

SDP,即会话描述协议,是一个描述peer-to-peer连接的标准,主要用于参与会话(Session,如一次网络电话、一次电话会议、一次视频聊天,都可以称之为一次会话)的实体之间的媒体协商。使用SDP的目的,主要是为了解决参与会话的各成员能力不对等的问题。例如参加通话的成员都支持高质量的通话,但是如果没有进行协商,为了兼容性,各成员都使用普通质量的通话格式进行通话,这样就没有充分发挥资源优势,造成浪费资源了。在视音频的传输连接中,SDP包含视音频的编解码(codec)、源地址和时间信息。

2021-03-16 16:15:48 2586

原创 RTSP协议介绍

在RTSP中,载荷数据一般是通过带外方式来传送的(除了交织的情况),即通过RTP在不同的通道中来传送载荷数据。RTSP是用来控制声音或影像的多媒体串流协议,允许同时控制多个串流(支持多方视频会议),媒体数据传输时所用的网络通讯协议并不在RTSP的定义范围内,服务端可以自行选择传输层协议(TCP、UDP等)来传输多媒体串流内容。客户端分析收到的SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),SETUP命令会将客户端用于接收媒体数据的端口告知服务器;会话即RTSP交互的全过程。

2021-03-16 15:15:38 1429

原创 RTP协议与RTCP协议简介

RTP用于实时数据的传输,该协议提供的信息包括:时间戳(用于同步)、序列号(用于丢包和重排序检测)、以及负载格式(用于说明数据的编码格式)。RTCP与RTP联合工作:RTP进行实际数据的传输,RTCP负责将控制包送至参与通信的每个人,并针对RTP正在提供的服务质量做出反馈。A:根据声音流和图像流的相对时间(RTP包的时间戳),以及它们的绝对时钟时间(对应RTCP包中SR内容),可以实现声音和图像的同步。RTP采用“有序传送”方式传输数据,允许数据接收方重组发送方的包序列,同时序列号也可用于决定包的位置。

2021-03-15 16:16:03 1618 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除