- 博客(11)
- 收藏
- 关注
原创 单词异位分组算法,python实现
给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。
2024-05-28 15:18:10
199
原创 阻塞优先级队列java实现
阻塞优先级队列(Blocking Priority Queue)是一种数据结构,它具备队列的特性,同时支持元素的优先级排序。与普通的优先级队列不同,阻塞优先级队列在队列为空时,从队头获取元素或在队列已满时向队列添加元素的操作会被阻塞,直到条件满足。在这里将用java实现阻塞优先级队列,当中会涉及到多线程锁的知识点。
2024-01-29 17:38:22
399
原创 检测单链表环并返回环节点
该算法又称为龟兔快慢指针算法,即创建两个指针,fast和slow指针,slow每次走一步,fast指针每次走两步,当他们相遇了则存在环,反之fast指针到了尾部则无环。当相遇的时候,slow指针回到头结点位置,fast指针不动。开始第二次循环,fast和slow都每次走一步,当两个节点相遇时的节点即为环节点位置。
2024-01-29 17:38:11
452
原创 优先级队列完全二叉树实现
废话不多说,直接上干货。完全二叉树是一种特殊的二叉树,具有一些特定的性质。完全二叉树是一棵二叉树,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。除了最后一层,其他所有层的节点都必须是满的,即每一层从左到右都有节点。如果最后一层不是满的,那么节点都尽量靠左排列。如果有若干节点在最后一层,它们只能出现在最左边的连续位置,不能留有空隙。即从左到右填充节点,不允许在最后一层中出现中间有空缺的情况。这些性质保证了完全二叉树在数组中的存储方式是高效的,因为它可以通过数组索引直接定位到某个节点。
2024-01-27 23:12:41
345
原创 python实现栈的两种方式
栈(Stack)是一种基于先进后出(LIFO)原则的数据结构。栈的操作主要包括入栈(Push)和出栈(Pop)。栈通常用于在算法中实现递归、解决括号匹配问题、追踪函数调用等场景。在这里链表和数组都将用这个节点来作为存储数据的节点。
2024-01-25 17:57:17
1414
原创 单链表的基础操作与常见算法实现
单链表是一种基础的数据结构,虽然在平时的开发中较少用到,但我个人而言,学习单链表是从数据结构入门的一个好开端,毕竟是比较简单,而且在算法代码的练习中,总能不知不觉地感受到指针与内存地址的存在。链表是一种物理存储上非连续,数据元素的逻辑顺序通过链表中的指针链接次序,实现的一种线性存储结构。链表由一系列的节点组成,节点动态生成。在单链表中,单个节点由存储元素的数据域与指向下一个节点地址的指针组成。对单链表的操作即建立在对链表中节点的指针操作。(在这里只演示不带哨兵模式情况下的单链表)
2024-01-24 00:52:07
349
1
原创 博客网站的文章推荐思路及其算法实现
首先定义好推荐数据的依据,对文章数据库中设置keyWord字段,用于存储文章的话题或者标签,每个文章存储的话题有多个由发布文章时由作者设定,以下为数据库存储文章标签的字段。做了一个博客网站,基本功能就是实现用户查找文章,查看文章内容。
2023-06-13 14:02:06
468
1
原创 JAVA通过HTTP协议下载网络文件
分享一个通过原生的Java代码下载网络资源文件方法,使用URL类连接上网络服务器通过多线程使用I/O流的方式下载文件。
2023-01-04 19:06:27
5546
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人