数据结构与算法
文章平均质量分 59
jackaroo2020
不积跬步无以至千里,不积小流无以成江海
展开
-
判断一个整数是否满足完美平方?
问题: Given a positive integer num, write a function which returns True if num is a perfect square else False. Note: Do not use any built-in library function such as sqrt. Example 1: In...原创 2018-02-28 17:46:35 · 302 阅读 · 0 评论 -
数据结构与算法_基本概念笔记
什么是数据结构?数据结构是是数据对象在计算机中的组织方式。 分为逻辑结构。物理存储结构解决问题方法的效率,跟数据的组织方式有关、跟空间的利用效率有关、跟算法的巧妙程度有关。 抽象数据类型: 只描述数据对象集和相关操作集”是什么”,并不涉及”如何做到”的问题。什么是算法?有穷性(Finiteness)。算法的有穷性是指算法必须能在执行有限个步骤之后终止;确切性(Definiten原创 2018-01-09 23:01:12 · 144 阅读 · 0 评论 -
String-Remove Element
question: Given an array and a value, remove all instances of that value in place and return the new length.The order of elements can be changed. It doesn’t matter what you leave beyond the new len...原创 2018-03-01 17:37:43 · 110 阅读 · 0 评论 -
Java/C/Python_实现顺序表的基本操作
1、Java实现顺序表 接口类定义如下所示:package c03;/** * @description Java 实现顺序表的基本操作 * * @author LT * @date 2020/4/19 */public interface ISequence { /** * 在 pos 位置插入 val * * @param pos...原创 2020-04-22 16:04:50 · 331 阅读 · 0 评论 -
Math--PowerofTwo
问题: Given an integer, write a function to determine if it is a power of two. 解决思路: 求一个数是2的n次幂,则由于2的n次幂的二进制最高位都是1,所以利用&运算,即可解决。 代码如下:public boolean isPowerOfTwo(int n) { if(n<1){...原创 2018-02-26 09:08:36 · 294 阅读 · 0 评论 -
addDigits 加数字
问题: Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.For example:Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only on...原创 2018-02-26 17:13:10 · 329 阅读 · 0 评论 -
L04_什么是数组
导读在大部分编程语言中,数组都是从 0 开始编号的,但你是否下意识地想过,为什么数组要从 0 开始编号,而不是从 1 开始呢? 从 1 开始不是更符合人类的思维习惯吗?1、什么是数组数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。2、数组的操作实现2.1、随机访问数组支持随机访问,根据下标随机访问的时间复杂度为 O(1)。2.2、插入如果在数组的末尾插入元素,那就不需要移动数据了,这时的时间复杂度为 O(1)。但如果在数组的开头插入元素,那原创 2022-03-13 22:30:46 · 850 阅读 · 0 评论 -
L03_如何评估算法的好坏
导读我们都知道,数据结构和算法本身解决的是“快”和“省”的问题。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。1、什么是复杂度分析复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。2、为什么要进行复杂度分析复杂度分析有不依赖执行环境*、成本低、效率高、易操作、指导性强的特点。掌握复杂度分析,有利于编写出性能更优的代码,降低系统开发和维护成本。3、如何进行复杂度分析3.1、大O表示法原创 2022-03-13 22:20:07 · 577 阅读 · 0 评论 -
L01_什么是数据结构与算法
导读本文为个人学习笔记思维导图,数据结构与算法对训练我们的思维和提升后续编程内功和源码也有重要重要,带着问题,开始了个人的第一部分学习,什么是数据结构与算法。1、什么是数据结构数据结构是相互之间存在一种或多种特定关系的数据元素的集合。2、什么是算法算法是解决特定问题步骤的描述,在计算机中为指令的有序序列,并且每条指令表示为一个或多个操作。3、算法的特性输入输出、有穷性、确定性、可行性。输入输出:有零个或多个输入。至少有一个或者多个输出。有穷性:执行有限步骤之后,自动结束而不会出现无限原创 2022-03-06 20:58:52 · 164 阅读 · 0 评论 -
L02_如何学习数据结构与算法
如何系统的学习数据结构与算法导读我们似乎都有类似的情况,在刚开始接触数据结构与算法的时候,都觉得晦涩难懂,一度怀疑自己智商有问题。从个人角度来看,无论是学习数据结构与算法还是学习其它如计算机网络,操作系统,都需要掌握好的学习方法,抓住学习重点,今天就带领大家一起思考下如何系统高效的学习数据结构与算法。1、是什么从广义上讲,数据结构就是指一组数据的存储方式,算法就是操作这组数据的方法。从狭义上来看,数据结构就是平时我们常说的一些经典的数据结构与算法,队列、栈、二叉树、链表、动态规划等。所以,原创 2021-07-03 10:34:10 · 494 阅读 · 1 评论