![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 78
OldGj_
路虽远,行则将至
展开
-
每日算法:2024/07/26
定义两个指针,其中一个快指针先走 n 或者 n+1 步,具体的区别后面说明,然后再将快指针和慢指针同时向前移动,直到快指针走到链表的尾部null处为止,此时,如果最开始快指针走了 n 步,那么此时的慢指针指向的节点就是待删除的节点,如果最开始快指针走了 n+1 步,此时慢指针指向的就是待删除节点的上一个节点。原创 2024-07-26 11:27:17 · 264 阅读 · 0 评论 -
排序算法大总结
排序算法(sorting algorithm)是用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用,因为有序数据通常能够被更高效地查找、分析和处理。排序算法中的数据类型可以是整数、浮点数、字符或字符串等。排序的判断规则可根据需求设定,如数字大小、字符 ASCII 码顺序或自定义规则。原创 2024-04-30 17:02:09 · 2018 阅读 · 0 评论 -
【今日刷题】LeetCode 199.二叉树的右视图(中等)
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。原创 2024-04-10 17:35:34 · 332 阅读 · 0 评论 -
【面试手撕算法】冒泡排序算法
冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,一次比较两个相邻的元素,并且如果它们的顺序错误就交换它们。这个过程会持续多次,直到没有再需要交换,也就是说列表已经排序完成。这个算法的名字由于越小的元素会经由交换慢慢“浮”到数列的顶端,所以被称为冒泡排序。原创 2024-04-09 11:59:39 · 386 阅读 · 0 评论 -
【面试手撕算法】快速排序算法
快速排序(Quicksort)是一种常用的排序算法,它是一种分治算法,通过将问题分解成更小的子问题来解决整个问题。快速排序的基本思想是选择一个基准元素,然后将数组中小于基准元素的元素移到基准元素的左边,大于基准元素的元素移到右边,然后递归地对左右两个子数组进行排序。原创 2024-04-09 11:27:35 · 1083 阅读 · 0 评论 -
【数据结构与算法】手搓JDK底层ArrayList底层 - 动态数组
数组(Array)是一种线性数据结构,它由一组连续的内存空间组成,用来存储相同类型的数据元素。数组具有固定的大小,一旦创建后,其大小通常不能被动态改变。每个元素在数组中都有一个唯一的索引,通过索引可以快速访问数组中的元素。原创 2024-02-18 17:47:51 · 1090 阅读 · 0 评论