摘要:操作系统概述 操作系统是管理计算机硬件和软件资源的计算机程序,管理配置内存、决定资源供需顺序、控制输入输出设备等。操作系统提供让用户和系统交互的操作界面。操作系统的种类是多种多样的,不局限于计算机,从手机到超级计算机,操作系统可简单也可复杂,在不同的设备上,操作系统可向用户呈现多种操作。因为我们不可 阅读全文
posted @ 2020-05-31 07:32 Java伴我余生 阅读(61) 评论(0) 推荐(1) 编辑
摘要:计算机发展史(四个阶段) 第一阶段(1946~1957):电子管计算机 世界上第一台计算机叫埃尼阿克(ENIAC) 第二次世界大战是电子管计算机产生的催化剂(英国为了解密德国海军的密文),在第二次世界大战中,战争使用了飞机和火箭,打得准需要计算设计参数,设计参数需要几千次运算才能计算出来,在没有计算 阅读全文
posted @ 2020-05-24 07:43 Java伴我余生 阅读(138) 评论(2) 推荐(2) 编辑
摘要:什么是红黑树 红黑树依然是一棵二分搜索树,《算法导论》中的红黑树定义如下: 1. 每个节点或者是红色的,或者是黑色的 2. 根节点是黑色的 3. 每一个叶子节点(最后的空节点)是黑色的 4. 如果一个节点是红色的,那么他的孩子节点都是黑色的 5. 从任意一个节点到叶子节点,经过的黑色节点是一样的 在 阅读全文
posted @ 2020-05-17 08:06 Java伴我余生 阅读(157) 评论(5) 推荐(2) 编辑
摘要:[TOC] 什么是平衡二叉树? 为什么叫AVL树? 因为AVL树是由 G.M.Adelson Velsky 和 E.M.Landis 这两位俄罗斯科学家在1962年的论文中首次提出,是最早的自平衡二分搜索树结构。 由于AVL树是自平衡二分搜索树,所以本质上还是二分搜素树,也就是二分搜索树的性质AVL 阅读全文
posted @ 2020-05-11 09:00 Java伴我余生 阅读(36) 评论(0) 推荐(0) 编辑
摘要:[TOC] 并查集介绍 我们之前讲的树结构,都是由父亲节点指向孩子节点,而并查集却是由孩子指向父亲的这样一种数据结构。 给出图中任意的两点,问这两点之间是否可以通过一个路径连接起来?并查集就是处理这类连接问题的很好的数据结构。即用来处理网络中节点的连接状态,这里的网络是个抽象慨念,可以是用户之间形成 阅读全文
posted @ 2020-05-02 09:59 Java伴我余生 阅读(143) 评论(0) 推荐(1) 编辑
摘要:[TOC] 什么是Trie? Trie是一个多叉树,Trie专门为处理字符串而设计的。使用我们之前实现的二分搜索树来查询字典中的单词,查询的时间复杂度为O(logn),如果有100万(2^20^)个单词,则logn大约等于20,但是使用Trie这种数据结构,查询每个条目的时间复杂度,和一共有多少个条 阅读全文
posted @ 2020-04-19 08:28 Java伴我余生 阅读(47) 评论(0) 推荐(1) 编辑
摘要:[TOC] 为什么要使用线段树? 最经典的线段树问题:区间染色 有一面墙 ,长度为n,每次选择一段儿墙进行染色,m次操作后,我们可以看见多少种颜色? 例如上图,我们第一次将[1,8]的位置染成蓝色,然后再将[5,9]的位置染成黄色,然后将[6,15]的位置染成红色,最后把[12,15]的颜色染成绿色 阅读全文
posted @ 2020-04-12 08:18 Java伴我余生 阅读(149) 评论(0) 推荐(1) 编辑
摘要:什么是优先队列? 我们在常见的线性结构中,已经知道什么是普通队列了,普通队列就是一种“先进先出,后进后出”的数据结构,即普通队列的出队顺序和入队顺序是一样的,但我们的优先队列,它的出队顺序和入队顺序无关,它的出队顺序是和优先级相关的,当然这个优先级我们可以自己定义。 为什么使用优先队列? 举一个生活 阅读全文
posted @ 2020-04-06 08:38 Java伴我余生 阅读(74) 评论(0) 推荐(0) 编辑
摘要:集合 Set Set是一种新的数据结构,类似于数组,但是不能添加重复的元素,基于Set集合的这个特性,我们可以使用Set集合进行客户统计和词汇统计等,集合中常用的方法如下: 基于二分搜索树实现集合 现在让我们基于我们上章实现的二分搜索树,来实现集合中的常用操作,若你对二分搜索树还不了解,你可以先看我 阅读全文
posted @ 2020-04-05 08:54 Java伴我余生 阅读(91) 评论(0) 推荐(1) 编辑
摘要:什么是二叉树? 在实现二分搜索树之前,我们先思考一下,为什么要有树这种数据结构呢?我们通过企业的组织机构、文件存储、数据库索引等这些常见的应用会发现,将数据使用树结构存储后,会出奇的高效,树结构本身是一种天然的组织结构。常见的树结构有:二分搜索树、平衡二叉树(常见的平衡二叉树有AVL和红黑树)、堆、 阅读全文
posted @ 2020-04-04 08:46 Java伴我余生 阅读(187) 评论(2) 推荐(0) 编辑