自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(258)
  • 收藏
  • 关注

原创 Java接口类型的变量(引用)指向实现该接口的类的实例

当我们声明一个接口类型的变量时,实际上是在创建一个引用,该引用可以指向实现该接口的类的实例。

2024-05-23 00:29:31 136

原创 Java NIO.2(New I/O) API的关键类和功能[简单示例]

相对于传统的Java I/O(java.io)包,Java NIO.2提供了更多的功能和更好的性能。

2024-05-22 01:34:39 702

原创 Java NIO库中三个不同的类Files、Path和Paths

Files.Path.Paths 三个类是 Java NIO(New I/O)框架的一部分,用于处理 Java 程序中的文件系统操作。

2024-05-21 01:23:50 747

原创 Java NIO非阻塞I/O与传统阻塞式I/O的区别

JAVA NIO使用了通道和缓冲区的概念,而传统I/O使用了流的概念。- NIO提供了选择器(Selector)的机制,可以同时监控多个通道的事件,而传统I/O需要使用多个线程来处理多个连接。

2024-05-20 00:18:15 623

原创 利用Java NIO实现简单的服务器与客户端通讯

Java NIO(New I/O)是 Java 编程语言中用于非阻塞 IO 操作的一组 API。它提供了更为灵活和高效的 IO 操作方式, 特别适用于网络编程和需要高性能的 I/O 场景。

2024-05-19 02:31:52 534

原创 try-with-resources实现Java自动关闭AutoCloseable接口的资源

try-with-resources语句用于Java自动关闭实现了AutoCloseable接口的资源,例如输入流、输出流、数据库连接等。

2024-05-18 22:51:33 306

原创 InputStreamReader是Java将字节流转换为字符流的中间桥梁

InputStreamReader是Java将字节流转换为字符流的中间桥梁; 如果字节流的字符集与 InputStreamReader指定的字符集不匹配,则可能会导致乱码或字符损坏

2024-05-18 03:00:43 507

原创 Java的NIO提供了非阻塞I/O机制的包

Java的NIO提供了一种更为灵活和高效的I/O机制,特别适用于需要处理大量连接或大数据量的应用场景

2024-05-16 02:05:37 788

原创 Java IO部分的字节流-字符流及文件输入-输出

Java IO 部分提供了用于输入和输出数据的类和接口

2024-05-14 01:49:15 546

原创 函数指针允许将函数作为参数传递或从函数返回函数

函数指针在 C++ 编程中有着广泛的应用,特别是在涉及回调、事件处理和算法选择的场景中。

2024-05-12 23:27:11 958

原创 通过三重循环遍历来寻找两个顶点之间的最短路径[示例]

弗洛伊德-沃舍尔算法三重循环的嵌套,确保了我们对每对节点之间的路径都进行了检查和更新

2024-05-12 00:57:31 320

原创 用最简单的示例去理解Dijkstra最短路径算法[步骤分解]

优先级队列Priority Queue的使用:Dijkstra算法通常使用优先级队列来管理要探索的节点。

2024-05-09 01:58:38 424

原创 利用matplotlib和networkx绘制有向图[显示边的权重]

使用Python中的matplotlib和networkx库来绘制一个有向图,并显示边的权重标签。

2024-05-06 21:33:17 329

原创 C++关联容器unordered_map无法通过索引来访问元素

unordered_map 中的元素没有固定的顺序,插入元素的顺序和元素的键值大小没有关系,因此无法通过索引来访问元素。

2024-05-06 11:04:01 760

原创 C++_有向图_使用邻接表(链表-智能指针shared_ptr)实现

智能指针 shared_ptr 是 C++ 标准库提供的一种智能指针类型,用于管理动态分配的资源,特别是在动态内存分配和释放方面非常有用。

2024-05-06 02:18:41 774

原创 C++容器类型vector存储不同类型数据(包括其他容器)-总结

在C++中,使用vector来存储其他容器类型,通过将其他容器类型作为向量的元素来实现。

2024-05-05 23:36:27 1044

原创 C++_使用邻接表(链表-指针)实现有向图[完整示例及解释]

// newNode->next = nodes[sourceIndex].head;将新节点 newNode 的 next 指针指向了源节点的邻接表的头部。这样,新节点就被插入到了邻接表的头部位置。

2024-05-05 03:22:11 806

原创 C++容器map及unordered_map底层实现和性能上有所不同

std::map 和 std::unordered_map 都是 C++ 标准库中用于实现关联容器的类模板,但它们在底层实现和性能上有所不同。

2024-05-04 23:24:39 679

原创 sorted() 函数用于对列表、元组、集合等可迭代对象进行排序

sorted() 函数用于对列表、元组、集合等可迭代对象进行排序

2024-05-04 12:39:07 173

原创 使用Dijkstra算法求解图中两个节点之间的最短路径

Dijkstra算法,在每个迭代中,算法都选择当前距离起点节点最近的未访问过的节点,并更新该节点到其他未访问过的节点的距离,最终求出了真正的最短路径。

2024-05-03 02:12:38 669 1

原创 PYTHON数据结构-双端队列[deque]-具有队列和栈的特性

双端队列的使用可以提高队列头部和尾部的操作效率,特别适用于需要频繁从两端添加或删除元素的场景,比如广度优先搜索算法中的队列操作。

2024-05-02 23:17:09 202 1

原创 PYTHON实现图的深度优先搜索(DFS)和广度优先搜索(BFS)算法

深度优先遍历在图中一般使用栈来实现。广度优先遍历一般使用队列来实现。

2024-05-02 00:08:34 1033

原创 C++_有向图的邻接表及邻接矩阵表示

邻接表:对于每个顶点,存储其指向的其他顶点列表。

2024-05-01 08:01:49 578 1

原创 在C++中二维数组初始化的几种不同方法

C++中的二维数组是一种多维数组,通常是一个由多个数组组成的数组,每个数组本身又是一个一维数组。

2024-05-01 06:59:00 410 1

原创 迭代器iterator是C++中用于遍历容器中元素的对象

迭代器的使用通常伴随着容器的.begin()和.end()成员函数,这两个函数分别返回指向容器第一个元素和尾后元素的迭代器。

2024-04-28 23:19:39 873

原创 C++中常见容器总结Array-Vector-List-Queue-Stack-Map-Set

在 C++ 中,有许多常见的容器,每种都有其特定的用途和性能特征。

2024-04-28 00:55:23 1167

原创 C++二维数组arr[3][4]与arr(3, vector<int>(4))的差异

C++ 标准库中的 `vector` 容器类是一个动态数组,它提供了一系列方法用于管理元素。

2024-04-28 00:00:03 852

原创 Python无向图--邻接列表转为邻接矩阵表示

这段代码实现了一个简单的社交网络,提供了基本的用户管理和关系建立功能,并且能够将社交网络表示为无向图的邻接矩阵。

2024-04-27 01:30:56 257 2

原创 PYTHON[有向图]--用‘列表推导式‘获取‘关注指定用户‘的所有用户

[u for u, v in self.adj_list.items() if user in v]:这是一个列表推导式

2024-04-26 01:38:46 304 1

原创 Python中的列表list字典dictionary及集合set基本方法总结

Python中的字典(dictionary)是一种无序的数据集合,其中的元素以键值对的形式存储,键必须是唯一的且不可变的,而值则可以是任意类型的数据。

2024-04-25 01:22:38 410

原创 PYTHON用[有向图-邻接表]来描述社交网络中的[关注关系]

有向图通常用于表示具有方向性的关系,例如网页链接、社交关系中的关注关系等。

2024-04-25 00:02:24 446

原创 PYTHON用[邻接列表]及[邻接矩阵]来存储无向图

无向图(Undirected Graph):在无向图中,边是没有方向性的,即连接两个节点的边没有箭头指示方向。

2024-04-24 02:10:34 958

原创 Python数据结构完整实例:栈/队列/链表/树

使用Python类来实现和操作基本的数据结构

2024-04-22 01:26:03 618

原创 **PYTHON排序算法**快速/冒泡/选择/插入排序

# 冒泡排序 (Bubble Sort)# 通过比较相邻元素并交换位置,依次将最大的元素移动到列表末尾。

2024-04-22 00:35:53 123

原创 Python基本数据结构和常见算法

Python 中的基本算法包括各种数据结构的实现和常见算法的应用。

2024-04-21 02:36:50 398 1

原创 Python递归实现二叉树的前序遍历

root 是一个 TreeNode 对象,它有一个名为 left 的属性,而 left 属性又是一个 TreeNode 对象,也有一个名为 left 的属性。

2024-04-21 02:27:45 243 1

原创 函数调用栈中的栈帧形成了一个链式结构

调用函数的栈帧会一直保留在调用栈中,直到被调用的函数执行完毕并返回。这是因为在程序执行过程中,可能会有多层函数嵌套调用,而每个函数的执行都依赖于其上一级函数的调用帧。

2024-04-19 23:01:50 368

原创 函数调用栈Function Call Stack与递归

函数调用栈在程序执行期间起着至关重要的作用,它不仅跟踪了函数调用的顺序,还管理了函数调用过程中的各种数据。

2024-04-19 00:46:16 746

原创 二叉树前序遍历​​​​​​​到底部为何会返回到顶部?函数调用栈

前序遍历利用递归实现了从树的根节点开始的深度优先遍历,遍历到底部并返回到顶部是通过递归调用和函数调用栈来实现的。

2024-04-18 02:37:29 453

原创 C++函数指针可以用来动态调用函数[回调函数]

指向函数的指针: 在C++中,函数指针可以用来动态调用函数,这在某些情况下非常有用,比如实现回调函数等。

2024-04-17 01:52:00 777

空空如也

空空如也

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

TA关注的人

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