摘要:一、什么是哈希表 1.概述 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度这个映射函数叫做散列函数,存放记录的数组叫做散列表。 通俗的理解一下: 如果我们有n个元素要存 阅读全文
posted @ 2020-07-04 13:46 山猫大战响尾蛇 阅读(11) 评论(0) 推荐(0) 编辑
摘要:查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。 定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 分类: 静态查找和动态查找 静态查找:不对表的数据元素和结构进行任何改变。 动态查找:在查找过程同时插入 阅读全文
posted @ 2020-07-01 21:44 山猫大战响尾蛇 阅读(9) 评论(0) 推荐(0) 编辑
摘要:什么是排序? 排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。 1.排序的分类 排序分为两类: 内部排序:若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。 外部排序:若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类 阅读全文
posted @ 2020-06-30 23:06 山猫大战响尾蛇 阅读(146) 评论(0) 推荐(4) 编辑
摘要:一、概述 先放百科上的说法: 算法的时间复杂度(Time complexity)是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。 时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时 阅读全文
posted @ 2020-06-27 13:45 山猫大战响尾蛇 阅读(98) 评论(0) 推荐(0) 编辑
摘要:一、迷宫回溯问题 1.问题 一个7*8的数组模拟迷宫,障碍用1表示,通路使用0表示,给定起点(1,1)和终点(6,5),要求给出起点到终点的通路 2.解题思路 首先,我们需要给程序一个寻向的基本策略,我们先假定寻向顺序为“下-右-上-左”,也就是说从起点出发,先往下走,往下走不通就往右.....以此 阅读全文
posted @ 2020-06-26 22:52 山猫大战响尾蛇 阅读(112) 评论(2) 推荐(0) 编辑
摘要:一、什么是递归 所谓递归,简单点来说,就是一个函数直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 引用知乎大佬的例子: 我们可以把” 递归 “比喻成 “查字典 “,当你查一个词,发现这个词的解释中某个词仍然不懂,于是你开始查这第二个词。 可 阅读全文
posted @ 2020-06-26 17:59 山猫大战响尾蛇 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、计算器的计算思路分析 我们以计算3+8*2-6这个算式为例: 将算式解析为数字和符号:3,+,8,*,2,-,6 准备一个用于存放数字的数字栈numStack,还有一个存放运算符号的符号栈symbolStack,下面分别简称栈n和栈s 按顺序扫描解析后的数字和符号, 如果是数字,就直接入数栈n, 阅读全文
posted @ 2020-06-25 20:42 山猫大战响尾蛇 阅读(19) 评论(0) 推荐(0) 编辑
摘要:一、什么是栈 栈(stack)是一种先进后出的有序列表,其中的元素只能在线性表的同一端进出, 允许元素插入和删除的一端被称为栈顶(top),固定的另一端被称为栈底(button)。 二、数组简单实现栈 由于栈是只在一端进出,也就是说相比队列实际上只需要有一个栈顶指针top即可: 当栈空时top为-1 阅读全文
posted @ 2020-06-23 21:47 山猫大战响尾蛇 阅读(17) 评论(0) 推荐(0) 编辑
摘要:一、双向链表 双向链表与单链表基本相似,但是最大的区别在于双向链表在节点中除了指向下一节点的next指针外,还有指向前一节点的prev指针,这使得双向链表在可以在任意节点从头尾两个方向进行遍历,是“双向”的。 和单链表相比,双向链表在删除和查询等方面明显在操作上更具有灵活性,但是会消耗更多的内存,需 阅读全文
posted @ 2020-06-21 11:43 山猫大战响尾蛇 阅读(19) 评论(0) 推荐(0) 编辑
摘要:一、什么是链表 链表是一种数据结构,跟数组不同,链表不需要连续的内存空间,而是通过指针将零散的内存块连接起来。 因此,链表的查找需要通过节点按顺序遍历,而增加与删除通过只需要操作指针指向,这也造成了相比数组,链表的查找性能消耗大而增加和删除消耗小的特点。 链表由节点组成,一般每个节点最少包含用于储存 阅读全文
posted @ 2020-06-20 14:29 山猫大战响尾蛇 阅读(18) 评论(0) 推荐(0) 编辑