假设你得到一个字符串,然后你想要查一下每个字母出现了多少次。 1. 用字典来实现的优势,就是我们不需要知道字符串中有哪些字母,只需要为其中存在的字母来提供存储空间。 $ cat c.py #!/bin/python def histogram(s): d = dict() for c in s: i ...
分类:
编程语言 时间:
2020-06-24 23:44:23
阅读次数:
99
1、微指令设计原则 有利于缩短微指令字长度 有利于减少控制存储器容量 有利于提高微程序执行速度 有利于对微指令进行修改 有利于提高程序设计的灵活性 2、微指令格式(直接表示法) 这种方法简单直观,便于输出控制,但是微指令长度太长,控存容量大,如何压缩微指令长度? 这里介绍三种方法: 改直接表示为编码 ...
分类:
其他好文 时间:
2020-06-24 23:29:39
阅读次数:
157
先来看这张图,对于数据区,存在着线程,进程的概念。程序计数器是每个线程私有的。如果没有多线程的概念,可以直接无视。 程序计数器 程序计数器,也有人叫它 程序寄存器。但是叫做 程序计数器更为精确。 因为我们知道,在计算机也有一种结构叫做 寄存器,它储存容量小,但是速度快,一般用于 CPU 中。 但是我 ...
分类:
其他好文 时间:
2020-06-24 16:00:12
阅读次数:
61
JavaScript 有全局变量也有局部变量 全局变量 函数能够访问函数内部定义的所有变量 1 function myFunction() { 2 var a = 4; 3 return a * a; 4 } 当然,函数也能访问函数外部定义的变量 1 var a = 4; 2 function my ...
分类:
编程语言 时间:
2020-06-24 13:44:03
阅读次数:
49
已剪辑自: https://www.jianshu.com/p/bb5105303d85 JAVA并发包中有三个类用于同步一批线程的行为,分别是CountDownLatch、Semaphore和CyclicBarrier。 CountDownLatch CountDownLatch是一个计数器闭锁, ...
分类:
编程语言 时间:
2020-06-24 11:54:33
阅读次数:
54
一. 实验内容 设计一个单周期CPU,要求: 1. 实现MIPS的20条指令 2. 在该CPU上实现斐波那契函数 计算机每执行一条指令都可分为三个阶段进行。即取指令(IF)——>分析指令(ID)——>执行指令(EXE) 取指令:根据程序计数器PC中的指令地址,从存储器中取出一条指令,同时,根据控制信 ...
分类:
编程语言 时间:
2020-06-24 11:51:30
阅读次数:
60
第七章的内容是查找,总的来说整个章节的学习思路很清晰,分为线性表、树表、随机表的查找三部分。 关于线性表的查找,我印象最深刻的内容就是设有“监视哨”的顺序查找方法和折半查找方法。数组首元素存储查找的key数据,保证从后往前遍历到a[0]时能找到key并退出循环,这就不需要计数器来辅助了,这种思路确实 ...
分类:
其他好文 时间:
2020-06-23 13:06:02
阅读次数:
56
如果你对多线程没什么了解,那么从入门模块开始。 如果你已经入门了多线程(知道基础的线程创建、死锁、synchronized、lock等,并不代表后面不讲,只是后面需要有基础才好深入),那么从juc模块开始。(点此跳转 ) 入门模块 基本概念解释 程序:静态代码,一串指令的集合 进程:资源分配的单位 ...
分类:
其他好文 时间:
2020-06-21 15:37:16
阅读次数:
46
1、需要替换算法的原因 程序运行一段时间后,Cache存储空间被占满,当再有新数据要调入时,就需要通过某种机制决定替换的对象。 2、几种常见的替换算法 先进先出法 -FIFO 最不经常使用法--LFU 近期经常使用法--LRU 随机替换法 3、先进先出法 FIFO 右上角的计数器越大,说明来的越早。 ...
分类:
编程语言 时间:
2020-06-21 13:51:30
阅读次数:
78
测试结果 流程图 代码实现: #include<stdio.h> #include <math.h> #define INF 999999 typedef struct { int pid;//磁道号 bool time;//计数器 //int *element;//线性表的起始地址 }SeqLis ...
分类:
编程语言 时间:
2020-06-21 12:08:46
阅读次数:
70