随笔分类 -  数据结构与算法

摘要:找零问题:假设商店老板需要找零n元钱,钱币的面额有:100元、50元、20元、5元、1元,如何找零使得所需钱币的数量最少? 分糖果问题 已知有一些孩子和一些糖果,每个孩子都有需求因子g,每个糖果有大小s;如果某个糖果的大小s>=某个孩子的需求因子时,代表该糖果可以满足该孩子,使用这些糖果,最多可以满 阅读全文
posted @ 2019-03-03 12:26 鲸鱼的海老大 阅读(1187) 评论(0) 推荐(0) 编辑
摘要:题目:给一个二维列表,表示迷宫(0表示通道,1表示围墙)。给出算法,求一条走出迷宫的路径 maze = [ [1,1,1,1,1,1,1,1,1,1], [1,0,0,1,0,0,0,1,0,1], [1,0,0,1,0,0,0,1,0,1], [1,0,0,0,0,1,1,0,0,1], [1,0 阅读全文
posted @ 2019-03-03 12:25 鲸鱼的海老大 阅读(23) 评论(0) 推荐(0) 编辑
摘要:树的演变 如果使用hash做索引 使用hash的缺点 哈希碰撞 (内存占用率愈大发生哈希碰撞的可能性越高,可能计算出来的哈希值对应的地址已经有值了) 解决办法 布隆过滤器 用二叉树做索引 二叉搜索树 使用b树(mx树,m路树)减小层数 使用B+树 使用链表把叶子节点连接起来 树的插入实现 广度遍历 阅读全文
posted @ 2019-03-03 12:23 鲸鱼的海老大 阅读(12) 评论(0) 推荐(0) 编辑
摘要:排序算法稳定性 冒泡排序 思路:首先,列表每两个相邻的数比较大小,如果前边的比后边的大,那么这两个数就互换位置。就像是冒泡一样 代码关键点 趟数:n-1趟 无序区 依次类推就会得到排序结果。冒泡排序的效率还是很低的 代码示例 (这是基于顺序表实现的,链表还要关注一下节点) # 思路:列表中两个相邻的 阅读全文
posted @ 2019-02-25 12:47 鲸鱼的海老大 阅读(820) 评论(0) 推荐(0) 编辑
摘要:链表 单向链表 节点实现 单链表的操作(其他链表大致相同) 单链表的实现 单向循环链表 单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点 双向链表 一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个 阅读全文
posted @ 2019-02-21 20:12 鲸鱼的海老大 阅读(204) 评论(0) 推荐(0) 编辑
摘要:顺序表 顺序表的基本形式 顺序表的操作 增加元素 如图所示,为顺序表增加新元素111的三种方式 删除元素 Python中的顺序表 list的基本实现技术 Python标准类型list就是一种元素个数可变的线性表,可以加入和删除元素,并在各种操作中维持已有元素的顺序(即保序),而且还具有以下行为特征: 阅读全文
posted @ 2019-02-20 14:43 鲸鱼的海老大 阅读(285) 评论(0) 推荐(0) 编辑
摘要:什么是算法 什么是算法 算法(Algorithm):一个计算过程,解决问题的方法 一个算法应该具有以下七个重要的特征: ①有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止; ②确切性(Definiteness):算法的每一步骤必须有确切的定义; ③输入项(Input 阅读全文
posted @ 2019-02-20 13:51 鲸鱼的海老大 阅读(282) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示