- 博客(258)
- 收藏
- 关注
原创 Java接口类型的变量(引用)指向实现该接口的类的实例
当我们声明一个接口类型的变量时,实际上是在创建一个引用,该引用可以指向实现该接口的类的实例。
2024-05-23 00:29:31 134
原创 Java NIO.2(New I/O) API的关键类和功能[简单示例]
相对于传统的Java I/O(java.io)包,Java NIO.2提供了更多的功能和更好的性能。
2024-05-22 01:34:39 695
原创 Java NIO库中三个不同的类Files、Path和Paths
Files.Path.Paths 三个类是 Java NIO(New I/O)框架的一部分,用于处理 Java 程序中的文件系统操作。
2024-05-21 01:23:50 744
原创 Java NIO非阻塞I/O与传统阻塞式I/O的区别
JAVA NIO使用了通道和缓冲区的概念,而传统I/O使用了流的概念。- NIO提供了选择器(Selector)的机制,可以同时监控多个通道的事件,而传统I/O需要使用多个线程来处理多个连接。
2024-05-20 00:18:15 622
原创 利用Java NIO实现简单的服务器与客户端通讯
Java NIO(New I/O)是 Java 编程语言中用于非阻塞 IO 操作的一组 API。它提供了更为灵活和高效的 IO 操作方式, 特别适用于网络编程和需要高性能的 I/O 场景。
2024-05-19 02:31:52 533
原创 try-with-resources实现Java自动关闭AutoCloseable接口的资源
try-with-resources语句用于Java自动关闭实现了AutoCloseable接口的资源,例如输入流、输出流、数据库连接等。
2024-05-18 22:51:33 304
原创 InputStreamReader是Java将字节流转换为字符流的中间桥梁
InputStreamReader是Java将字节流转换为字符流的中间桥梁; 如果字节流的字符集与 InputStreamReader指定的字符集不匹配,则可能会导致乱码或字符损坏
2024-05-18 03:00:43 506
原创 用最简单的示例去理解Dijkstra最短路径算法[步骤分解]
优先级队列Priority Queue的使用:Dijkstra算法通常使用优先级队列来管理要探索的节点。
2024-05-09 01:58:38 422
原创 利用matplotlib和networkx绘制有向图[显示边的权重]
使用Python中的matplotlib和networkx库来绘制一个有向图,并显示边的权重标签。
2024-05-06 21:33:17 326
原创 C++关联容器unordered_map无法通过索引来访问元素
unordered_map 中的元素没有固定的顺序,插入元素的顺序和元素的键值大小没有关系,因此无法通过索引来访问元素。
2024-05-06 11:04:01 759
原创 C++_有向图_使用邻接表(链表-智能指针shared_ptr)实现
智能指针 shared_ptr 是 C++ 标准库提供的一种智能指针类型,用于管理动态分配的资源,特别是在动态内存分配和释放方面非常有用。
2024-05-06 02:18:41 774
原创 C++容器类型vector存储不同类型数据(包括其他容器)-总结
在C++中,使用vector来存储其他容器类型,通过将其他容器类型作为向量的元素来实现。
2024-05-05 23:36:27 1042
原创 C++_使用邻接表(链表-指针)实现有向图[完整示例及解释]
// newNode->next = nodes[sourceIndex].head;将新节点 newNode 的 next 指针指向了源节点的邻接表的头部。这样,新节点就被插入到了邻接表的头部位置。
2024-05-05 03:22:11 804
原创 C++容器map及unordered_map底层实现和性能上有所不同
std::map 和 std::unordered_map 都是 C++ 标准库中用于实现关联容器的类模板,但它们在底层实现和性能上有所不同。
2024-05-04 23:24:39 679
原创 使用Dijkstra算法求解图中两个节点之间的最短路径
Dijkstra算法,在每个迭代中,算法都选择当前距离起点节点最近的未访问过的节点,并更新该节点到其他未访问过的节点的距离,最终求出了真正的最短路径。
2024-05-03 02:12:38 668 1
原创 PYTHON数据结构-双端队列[deque]-具有队列和栈的特性
双端队列的使用可以提高队列头部和尾部的操作效率,特别适用于需要频繁从两端添加或删除元素的场景,比如广度优先搜索算法中的队列操作。
2024-05-02 23:17:09 200 1
原创 迭代器iterator是C++中用于遍历容器中元素的对象
迭代器的使用通常伴随着容器的.begin()和.end()成员函数,这两个函数分别返回指向容器第一个元素和尾后元素的迭代器。
2024-04-28 23:19:39 872
原创 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 303 1
原创 Python中的列表list字典dictionary及集合set基本方法总结
Python中的字典(dictionary)是一种无序的数据集合,其中的元素以键值对的形式存储,键必须是唯一的且不可变的,而值则可以是任意类型的数据。
2024-04-25 01:22:38 408
原创 PYTHON用[邻接列表]及[邻接矩阵]来存储无向图
无向图(Undirected Graph):在无向图中,边是没有方向性的,即连接两个节点的边没有箭头指示方向。
2024-04-24 02:10:34 957
原创 **PYTHON排序算法**快速/冒泡/选择/插入排序
# 冒泡排序 (Bubble Sort)# 通过比较相邻元素并交换位置,依次将最大的元素移动到列表末尾。
2024-04-22 00:35:53 123
原创 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关注的人