![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
lsr40
菜鸡一个,还请见谅
展开
-
【算法】数据结构:选择,冒泡,插入排序
一、需要思考的问题排序算法最好的时间复杂度应该是O(n),也就是说从头到位遍历一遍数据就能得到排好序的数据,但这不太可能实现(除非数据本身已经有序),现有的算法的平均时间复杂度只能于趋近O(n),今天来说三个O()的算法对于排序我们需要考虑如下几个问题:1、是原地排序算法吗(需要创建占用的空间来辅助排序吗)?2、是稳定排序算法吗稳定说的是,2个相同的数字被排序时候,前后顺序是否会被改变,如果被改变就是不稳定,如不不被改变就是稳定,为什么要有这个衡量指标?在真正软件开发中,我们要排序原创 2020-11-11 17:40:02 · 170 阅读 · 0 评论 -
【算法】数据结构:树结构(引言)
一、引言本文只是一个引子,来讲述树这种数据结构的一些入门点对于刚接触树这种结构的小伙伴,我们需要思考几个问题(我当年也有这样的疑问)?1、这种数据结构长什么样?2、有哪些基础概念是需要了解的?3、在编程中,用什么样的结构来存储树状结构?4、如何增删改查和遍历数据?5、既然已经有了看似万能的散列表+链表的数据结构,为什么还有树的结构出现,他解决了什么问题?二、数据结构以下这些制作精美的图片来自于王争老师的《算法与数据结构之美》,我只是搬运工!!!三、..原创 2020-11-09 16:54:29 · 350 阅读 · 0 评论 -
【算法】数据结构:散列表(hash表)
一、引言说到散列表,其实在java中代表作就是HashMap应该说HashMap插入和查找的性能真的是很好,插入和查找时间复杂度就接近O(1)(当然如果是多线程场景,就要用ConcurrentHashMap来解决问题)二、数据结构以下这些制作精美的图片来自于王争老师的《算法与数据结构之美》,我只是搬运工!!!散列表有2个组成部分:1、散列函数(hash函数)将插入的数据,通过散列函数计算得到的值,插入到数组的固定位置中!问题在于,散列函数要...原创 2020-09-28 15:06:32 · 341 阅读 · 0 评论 -
【算法】数据结构:跳表
一、引言在排好顺序的数组中,要查找某个元素,我们可以通过二分法来快速查找,这其实依赖的是数组的随机访问的特性,我可以通过arr[6],来访问数组中的第七个元素(因为第一个元素下标是0),因此我就可以跳跃着访问数组中任意一个元素。但如果是普通的链表,第七个元素的地址,我只能通过第六个元素知道,第六个元素的地址我只能通过第五个元素知道,以此类推,我如果要查找链表中的任意一个元素,我都需要从头遍历,就使用不了二分法查找,那么对于链表这样的数据结构的快速查询,是否有合理的解决方案?有的,把链表变为跳表!原创 2020-09-23 21:30:51 · 272 阅读 · 0 评论 -
【算法】数据结构:队列
今天来介绍队列!打算边学习,边把数据结构和一些常用的算法整理下,文章大概都会按照,是什么,为什么,怎么样来写,不算科普文章,更多是自己的一些思考和想法,还有找到一些优质资源的分享!一、队列是什么?队列和栈一样,都是受限制的数据结构,记住一点:FIFO(first input firstoutput),先进先出,就和排队一样(火车站买票,前面的人先买完离开)所以队列提供的api,应该类似enQueue/add/offer:往队列中添加数据的方法deQueue/remove/pol..原创 2020-09-03 20:15:14 · 596 阅读 · 0 评论 -
【算法】数据结构:栈
本文并不着墨于栈的基础,更多的是基于栈的个人思考和使用的场景还有LeetCode上对应的题目一、栈是什么?栈这种数据结构,记住一点:FILO(first input last output),先进后出就像是枪的弹夹,先放入的子弹,会在最后被射出,就像是叠盘子,最晚放上来的盘子,因为在最上面所以会被我们先拿出来用。所以栈这种数据结构,是一种有限制的数据结构,我拿数据的时候,必须拿栈顶的数据,不能直接拿下面的(只能在数据的一端做删除和插入操作)二、为什么用栈?那么问题来了,既然..原创 2020-09-01 14:58:44 · 220 阅读 · 0 评论 -
【算法】单链表反转(LeetCode-206)
不多说废话,题目是这样子的题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?解决思路单链表反转,大家说有很多种办法,其实无非就是头插法的各种实现!1、通过循环2、通过递归解法方法一:循环头插法1、创建一个虚拟节点和创建一个临时指针temp2、将tem..原创 2020-08-26 21:18:10 · 223 阅读 · 0 评论 -
【python】爬虫篇:最后一篇之TF-IDF分类代码篇(六)
本人菜鸡一只!本篇文章,主要是记录《【python】爬虫篇:通过文章内容使用TF-IDF算法对文章进行分类(五)》中所说的具体代码,具体处理方向和思路见下文:【python】爬虫篇:通过文章内容使用TF-IDF算法对文章进行分类(五):https://blog.csdn.net/lsr40/article/details/87281966代码如下(但是由于代码可能有些年代了,我稍...原创 2019-02-18 22:13:25 · 1097 阅读 · 0 评论 -
【python】爬虫篇:通过文章内容使用TF-IDF算法对文章进行分类(五)
本人菜鸡一只,八百多年前(当然这是夸张的手法),在我写下第一个爬虫篇的博客的时候,我给自己挖了一个坑!在我的爬虫篇的第一篇文章中(链接如下,该系列总共有六篇文章)【python】爬虫篇:python连接postgresql(一):https://blog.csdn.net/lsr40/article/details/83311860【python】爬虫篇:python对于html页面的...原创 2019-02-15 15:59:41 · 1390 阅读 · 2 评论 -
【算法】红黑树删除数据(最后一步,平衡红黑树)(五)
老话说一说,本人菜鸡,如果文章中有错误请大家批评指出!!!该系列已经全部更完,有5篇文章:【算法】红黑树(二叉树)概念与查询(一):https://blog.csdn.net/lsr40/article/details/85230703【算法】红黑树插入数据(变色,左旋、右旋)(二):https://blog.csdn.net/lsr40/article/details/8...原创 2019-02-01 10:25:56 · 1968 阅读 · 10 评论 -
【算法】红黑树插入数据(变色,左旋、右旋)(二)
本人菜鸡一只,正在更新红黑树系列的文章。该系列已经全部更完,有5篇文章: 【算法】红黑树(二叉树)概念与查询(一):https://blog.csdn.net/lsr40/article/details/85230703【算法】红黑树插入数据(变色,左旋、右旋)(二):https://blog.csdn.net/lsr40/article/details/85245027【算法...原创 2018-12-26 11:29:13 · 12504 阅读 · 13 评论 -
【算法】红黑树(二叉树)概念与查询(一)
诶,算法这个东西,其实没那么简单,但是也没那么难。红黑树,其实已经有很多大佬都整理过了,而且文章博客都写得超好,我写这篇文章的目的是:自己整理一次,这些知识才是自己的,否则永远是别人的~ 该系列已经全部更完,有5篇文章: 【算法】红黑树(二叉树)概念与查询(一):https://blog.csdn.net/lsr40/article/details/85230703【算法】...原创 2018-12-24 17:54:59 · 18820 阅读 · 3 评论 -
【算法】红黑树删除数据(寻找继承人)(四)
我的前三篇文章讲红黑树的插入介绍完毕,并且也解释了TreeMap的put的源码,接下来我们一起看下remove,红黑树如何删除节点?该系列已经全部更完,有5篇文章: 【算法】红黑树(二叉树)概念与查询(一):https://blog.csdn.net/lsr40/article/details/85230703【算法】红黑树插入数据(变色,左旋、右旋)(二):https://blo...原创 2018-12-28 19:23:22 · 1650 阅读 · 8 评论 -
【算法】红黑树插入数据的情况与实现(三)
大家如果有玩魔方,我相信是可以理解我说的东西的,转魔方就是先把第一面转出来,然后把第一面作为底面,然后根据遇见的情况来转魔方(是有公式的)该系列已经全部更完,有5篇文章:【算法】红黑树(二叉树)概念与查询(一):https://blog.csdn.net/lsr40/article/details/85230703【算法】红黑树插入数据(变色,左旋、右旋)(二):https://...原创 2018-12-27 16:00:18 · 3514 阅读 · 5 评论