
算法与数据结构
文章平均质量分 78
攻城狮客栈
天地生人,有一人,当有一人之业;
人生在世,生一日,应尽一日之勤。
展开
-
哈希算法
什么是哈希算法1.定义:将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,原始数据通过映射之后得到的值即为二进制串的哈希值。2.一个优秀的哈希算法应满足什么样的条件? 1.不能反向推到出元数据(即单向哈希算法)。 2.对输入数据敏感,即使修改一个bit位,得到的结果也大不同。 3.散列冲突概率要小,对不同的原始数据,哈希值相同的概率非常小。 4.执行效率要尽量高,针对较长的串,也能快速计算出哈希值。3.例如MD5("今天我来讲哈希算法"...原创 2021-03-15 11:18:05 · 217 阅读 · 0 评论 -
面试精选之链表(上)
学习算法的一个目的就是为了通过面试,拿下期望的offer,链表做为一个基础的数据结构,除了基础的链表实现外,在面试过程中,有一些问题的出现概率非常的高,本篇主要是对链表相关的面试题进行汇总,给出具体的过程分析以及最终实现。这里在啰嗦一下的是,在对链表操作的过程中,要时刻保证指针(有的语言称为引用)操作有效,避免无效操作。要做到这一点就要深刻理解指针的概念。另外,本篇中,所有的问题都是以单链表为...原创 2019-09-18 09:37:46 · 488 阅读 · 0 评论 -
数据结构基础之栈
栈:一种操作受限的线性表,只允许在一端插入和删除数据。如何理解栈汉诺塔你有没有玩过,每根柱子上的碟子每次只能操作最上层的一个,或者,你可以想象平时生活中的盘子的堆叠方式,每次我们使用时都是从最上层拿一个,放的时候也是放在最上次,这种类型的结构就是典型的栈结果,满足,后进先出、先进后出的特点,这也是栈的数据结构特点。由于我们每次只能操作栈顶元素,因此说栈是操作受限的线性表。当要操...原创 2019-09-19 09:27:14 · 201 阅读 · 0 评论 -
数据结构基础之链表
本节,我们先学习链表的基础知识,再看一个链表的经典应用场景。而且,本节只涉及链表的基础知识和实现,链表相关的高级讲解和面试题目等,请关注公众号 李哥学编程 查看,可通过关键字 链表 来获取。首先,我们来说一下链表和数组的区别,上节我们知道,数组和链表都是线性表,且数组是用连续的内存空间来存储数据的,但链表,在内存上并不是连续的,这既是数组和链表的最大区别。链表分为单链表、双链表、循环链表...原创 2019-09-17 10:38:42 · 478 阅读 · 0 评论 -
数据结构基础之数组
数组这个结构,相信大家在平时的开发中经常用到,那我们今天就来聊聊这个基础的数据结构。1.如何实现随机访问数组是一种线性表结构,用一组连续的内存空间存储一组具有相同类型的数据。这里有几个概念要注意一下:线性表:数据排列像一条线一样的结构,表上的数据最多只有前后两个方向,链表、队列、栈也是线性表结构。 连续的内存空间和相同类型的数据 随机访问寻址公式:a[i]_addres...原创 2019-09-17 00:05:03 · 241 阅读 · 0 评论 -
复杂度分析:时间复杂度、空间复杂度
执行效率是算法的一个重要的考量指标,算法的执行效率用时间、空间复杂度来衡量。今天我们来学习一下复杂度的分析。1.为什么需要复杂度分析通常我们可以通过运行程序来获得算法的真正的执行时间,这种方法我们可以称为事后统计法,但这种方法得到的是具体的数据,测试结果很依赖测试环境,而且受数据规模影像最大。因此,我们需要一个不需要具体测试数据,就能粗略估算算法执行效率的方法,这即是我们今天要说的时间...原创 2019-09-16 11:51:01 · 369 阅读 · 0 评论 -
入门篇2:如何系统高效的学习算法与数据结构
本节,将讲解何为算法,何为数据结构以及如何学习算法与数据结构。什么是数据结构?什么是算法?从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的方法数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上,比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据,但如果使用链表,则二分法无法进行工作,因为链表不支持随机访问...原创 2019-09-14 10:53:13 · 313 阅读 · 0 评论 -
入门篇1:我们为何要学习算法?
1.想要通关大厂面试,千万别让数据结构和算法拖了后腿2.业务开发工程师,你要做一辈子的CRUDboy吗?3.我们平时用到的很多业务开发框架,其实底层都糅合了很多数据结构和算法的设计思想4.掌握算法与数据结构,用利于我们看懂开发源代码,理解框架背后的真实含义。5.掌握算法与数据结构,在开发过程种,看待问题的深度,解决问题的角度将会大大不同。...原创 2019-09-14 10:52:45 · 309 阅读 · 0 评论 -
新的热血征程--算法学习之路开篇
2018年国庆,回家参加小伙伴的婚礼,独坐在静的只有蟋蟀声的山头,感受着微风,看着周围绿油油的庄稼和树木,思考着我的人生,程序员的世界里,不只有匆忙的代码,也需要这些许的静谧。刷朋友圈的时候,发现了,极客时间的《数据结构与算法之美》推送,王争老师,前Google工程师,带我揭秘算法,替我扫除算法这座大山。但是看的心动了,就订阅了,课程从国庆开始,大概2天一更,到过完春节差不多更完了...原创 2020-05-02 10:39:18 · 2162 阅读 · 0 评论