2019年4月22日
摘要: 一 给定两个字符串s和t,判断t是否为s的重新排列后组成的单词 s = "anagram", t = "nagaram", return True s = "rat", t = "car", return False leetcode地址:https://leetcode.com/problems/ 阅读全文
posted @ 2019-04-22 18:06 cs_1993 阅读(235) 评论(0) 推荐(0) 编辑
  2019年4月18日
摘要: 一 什么是链表 链表是由一系列节点组成的元素集合。每个节点包含两部分,数据域item和指向一下个节点的指针next。通过节点之间相互连接,最终串联成一个链表 二 链表的操作 1 创建链表 头插法: 尾插法: 2 链表的遍历 3 链表的插入与删除 插入: 删除: 三 双向链表 双链表的每个节点有两个指 阅读全文
posted @ 2019-04-18 14:52 cs_1993 阅读(6893) 评论(0) 推荐(0) 编辑
  2019年4月17日
摘要: 一 栈的简介 栈是一个数据集合,可以理解为只能在一段进行插入或删除操作的列表 栈的特点:后进先出 栈的概念:栈顶,栈底 栈的操作: 进栈(压栈):push 出栈:pop 取栈顶:gettop 使用一般的列表结构可实现栈 进栈: li.append 出栈: li.pop 取栈顶: li[-1] Pyt 阅读全文
posted @ 2019-04-17 11:18 cs_1993 阅读(222) 评论(0) 推荐(0) 编辑
  2019年4月16日
摘要: 一 什么是贪心算法 贪心算法(又称贪婪算法)是指在对问题求解时,总是做出在当前看来最好的选择。也就是说,不从整体最优上加以考虑他所做出的是某种意义上的局部优解贪心算法并不保证会得到最优解, 但是在某些问题上贪心算法的解就是最优解。要会判断一个问题能否用贪心算法来计算 贪心算法每一步必须满足一下条件: 阅读全文
posted @ 2019-04-16 10:26 cs_1993 阅读(301) 评论(0) 推荐(0) 编辑
  2019年4月9日
摘要: 一 什么是AVL树(平衡二叉树): AVL树本质上是一颗二叉查找树,但是它又具有以下特点:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为平衡二叉树。下面是平衡二叉树和非平衡二叉树对比的例图: 阅读全文
posted @ 2019-04-09 10:07 cs_1993 阅读(579) 评论(0) 推荐(0) 编辑
  2019年4月3日
摘要: 本篇主要介绍排序算法中的快速排序 堆排序和归并排序 一 快速排序 1 快排思路: 取一个元素p(第一个元素),是元素p归位(去它该去的地方) 列表被p分成两部分,左边的都比p小,右边的都比p大 递归完成排序 2 快速排序的问题: 最坏情况 递归 3 图示说明 4 如何实现归并 先把5取出来,这时候就 阅读全文
posted @ 2019-04-03 17:55 cs_1993 阅读(185) 评论(0) 推荐(0) 编辑
  2019年4月2日
摘要: 本篇主要介绍排序算法中的冒泡排序 选择排序和插入排序 一 冒泡排序 1、思路:首先,列表每两个相邻的数比较大小,如果前边的比后边的大,那么这两个数就互换位置。就像是冒泡一样 2、代码关键点: 趟数:n-1趟 无序区 3、图示说明:依次类推就会得到排序结果。冒泡排序的效率还是很低的 时间复杂度:O(n 阅读全文
posted @ 2019-04-02 18:11 cs_1993 阅读(242) 评论(0) 推荐(0) 编辑
  2019年4月1日
摘要: 一 树 1 什么是树 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外 阅读全文
posted @ 2019-04-01 17:53 cs_1993 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 一、列表查找:从列表中查找指定元素 输入:列表、待查找元素 输出:元素下标或未查找到元素 二、列表查找方式 顺序查找 : 从列表的第一个元素开始遍历,知道找到为止。时间复杂度O(n) 二分查找 :从有序的列表的候选区L[0:n]开始,通过堆待查找的值与候选区中间值进行比较,每次候选区数减少一半,时间 阅读全文
posted @ 2019-04-01 17:43 cs_1993 阅读(173) 评论(0) 推荐(0) 编辑
  2019年3月19日
摘要: 一 算法的定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不 阅读全文
posted @ 2019-03-19 16:21 cs_1993 阅读(149) 评论(0) 推荐(0) 编辑