数据结构和算法
文章平均质量分 64
XP_32986175
坚持学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
时间复杂度和空间复杂度
算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频原创 2016-12-18 16:16:34 · 290 阅读 · 0 评论 -
认识线性表
简介 线性表是数据结构中最简单、最重要的结构形式之一,是最经常遇到的一种操作对象,在程序设计语言和程序设计中广泛使用。本章将系统地讨论其存储、运算及应用。线性表的概念 1. 线性表的定义线性表(linear list)是具有相同类型的n(n≥0)个数据元素a0,a1,…an-1组成的有限序列。其中n 称为线性表的长度,当n=0时称为空线性表,n>0时称为非空表。原创 2016-12-18 16:22:21 · 555 阅读 · 0 评论 -
Lintcode—(2)字符串查找
对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。说明在面试中我是否需要实现KMP算法?不需要,当这种问题出现在面试中时,面试官很可能只是想要测试一下你的基础应用能力。当然你需要先跟面试官确认清楚要怎么实现这个题。样例原创 2017-02-10 17:18:22 · 348 阅读 · 0 评论 -
Lintcode—(1)两个字符串是变位词
写出一个函数 anagram(s, t) 判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。样例给出 s = "abcd",t="dcab",返回 true.给出 s = "ab", t = "ab", 返回 true.给出 s = "ab", t = "ac", 返回 false.解法一:public class Solutio原创 2017-02-10 15:06:58 · 770 阅读 · 0 评论 -
Lintcode—(3)比较字符串
比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母 注意事项在 A 中出现的 B 字符串里的字符不需要连续或者有序。样例给出 A = "ABCD" B = "ACD",返回 true给出 A = "ABCD" B = "AABC", 返回 false解法一:public cla原创 2017-02-10 17:49:11 · 274 阅读 · 0 评论 -
Lintcode—(5)最长公共子串
给出两个字符串,找到最长公共子串,并返回其长度。 注意事项子串的字符应该连续的出现在原字符串中,这与子序样例给出A=“ABCD”,B=“CBCE”,返回 2public class Solution { /** * @param A, B: Two string. * @return: the原创 2017-02-14 12:06:26 · 296 阅读 · 0 评论 -
面试遇到的算法题—(大整数问题)
题:A、B都是大于24位的大整数,写一个函数,返回A+B的值。 function bigIntSum($a='2654', $b='111'){ //定义两个空数组 $arr_a = array(); $arr_b = array(); $arr = array(); //获取两个大整数的长度 $len_a = strlen($a); $len_b = strle原创 2017-03-11 18:29:30 · 528 阅读 · 0 评论
分享