- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 【专栏】数据结构和算法之美-队列:队列在线程池等有限资源池中的应用
学习笔记如何理解“队列”?结构特征操作受限的线性表数据结构两端开放,一端是数据的入口,另一端是数据的出口行为特征先进先出,类似于水管,从一端进水,另一端出水,先进去的水会先流出来如何实现队列?基于数组实现:顺序队列/*Queue implement based on the array*//*Queue implement based on the linked lis...
2018-11-22 16:35:58 219
原创 【专栏】数据结构和算法之美-链表(上):如何实现LRU缓存淘汰算法?
学习笔记链表结构单链表示意图如下结构特征:尾节点的指针域指向NULL用头节点记录链表的基地址行为特征:插入或删除只需要考虑相邻节点指针的改变,其时间复杂度是O(1)通过指针将零散的内存块串联起来使用随机访问第K个元素的时间复杂度是O(n), 每个节点只能找到它后面的节点,因而要找到第K个元素就需要从链表头开始一个一个往后询问直到遇到第K个,没有数组那么好的性能。下图演示插...
2018-11-15 22:25:13 326
原创 Linux内核之旅-中断处理的软中断
前言中断处理程序机制局限性,它只能作为中断处理流程的“上半部”1,中断随时都会发生,它会以异步方式执行。2,中断处理程序要尽快地执行完(要它完成的工作越少越好),首先、它通常需要对硬件进行操作,这本身带来了时限要求,第二、其他中断都会被屏蔽,这直接影响了操作系统和硬件的通信,中断被屏蔽的时间会极大的影响系统的响应能力和性能。最后、它不再进程上下文中,不能被阻塞。该如何分配中断处理的...
2018-11-14 22:58:15 837
原创 【专栏】数据结构和算法之美-为什么很多编程语言中的数组都是从 0 开始的
学习笔记数组的特征1.线性表数据排成像一条线一样的结构,数据之间只是简单的前后关系。除了数组是一种线性表结构外,链表、队列和栈也是。与之对应的像二叉树、堆、图等就是非线性表。2.使用连续的内存空间3.存储相同类型数据特征2和3为随机访问到数组里的元素提供了可能,就是任意下标指示的元素可以直接访问到,寻址公式a[i]_address = base_address + i*data_t...
2018-11-14 16:18:04 195
原创 数据结构和算法之美-二叉树(上)
学习笔记“树”这种数据结构的形态特征包括有哪些命名节点和它们的概念,这些节点是根节点,叶子节点,父节点,子节点,兄弟节点等;以及相关节点关系的建立,这些关系是父子关系和兄弟关系“树"这种数据结构的‘物理’特征包括树的高度,深度,层和树的高度及其概念。几种特殊二叉树的形态特征: 满二叉树,完全二叉树。树的存储方法一种是基于指针或引用的链式存储,另一种是基于数组的顺序存储...
2018-11-14 10:05:39 163
原创 【专栏】数据结构与算法之美-目录
I. Referencesource code : https://github.com/wangzheng0822/algoII. Contents开篇词 : 从今天起,跨过“数据结构与算法”这道坎为什么要学习数据结构和算法?如何抓住重点,系统高效地学习数据结构和算法?复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度...
2018-11-12 20:24:15 2091
原创 Linux内核模块编程实践-入门,写第一个内核模块Hello world!
前言内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),我们简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是效率高,因为所有的内容都集成在一起,但其缺点是可扩展性和可维护性相对较差,模块机制就是为了弥补这一缺陷。什么是模块模块是具有独立...
2018-11-11 00:11:07 1108
原创 Ubuntu 18.04 安装和配置samba服务器
首先需要注意的是,此时服务器的版本是乌班图18.04 LTS Server ,安装配置Samba服务器 。首先来对当前的软件进行更新。sudo apt-get upgradesudo apt-get updatesudo apt-get dist-upgrade接下来开始安装samba服务器。sudo apt-get install samba samba-common然后来...
2018-11-09 22:23:32 2945
原创 用ssh协议实现宿主机远程登陆Ubuntu 系统 - Ubuntu 18.04 安装ssh服务器
用ssh协议实现宿主机远程登陆Ubuntu 系统 - Ubuntu 18.04 安装ssh服务器前言环境安装1. 打开终端2. 使用apt工具下载并安装openssh-server前言Secure Shell(SSH)是一种加密网络协议,用于在不安全的网络上安全地运行网络服务。利用SSH可以实现加密并安全地远程登录计算机系统。Ubuntu安装后默认只有ssh客户端,即只能在Ubuntu内去连...
2018-11-09 22:11:27 813
跟我一起学Makefile
2016-11-06
计算机系统漫游
2015-08-19
ECT memperf
2015-08-17
微型web服务器(tiny web server)
2015-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人