计算机思维--经典互联网应用

搜索引擎

搜索引擎算法的两个步骤

第一步:匹配 搜索引擎把整个互联网能找到的网页下载出来,分词,为所有关键词建立索引(将关键词拿出,对关键词进行相应编号,并进行位置的编号)

第二步:排序 (谷歌独特的PageRank算法:网页对一个网页指向越多,且这个网页对别的网页指向越少,则排序越靠前)现代网页排序算法考虑因素:网页是否悠久,迅速,用户体验是否良好,人工智能个性匹配

什么是空间换时间

存储空间换取计算机软件运行所需要的时间

电子商务

数据库基本概念

DBMS:数据库管理系统

关系型数据库:excel表

计算机存储硬件特点:内存速度快,断电消失。硬盘速度慢,永久保存。这是数据库出现"不一致"错误的核心原因

原子性:不可拆分性

Transaction处理:在每次transaction请求开始的时候系统会生成一个"预写日志",这样可以在停电后进行数据回滚或继续执行

想避免数据库出错,需要给数据库的相关的表的相关列上锁

信息传递

解决传递错误方法:冗余

侦错:同时传输a和冗余信息b,b要通过a经过某种转换得到,得不到说明传输错误(奇偶校验:看有多少1,奇数个为1偶数为0)

纠错:加强版奇偶校验(汉明码)减少冗余使用,节省带宽。传的数据位越多,越节省

移动支付

加密算法

对称加密:加密和解密用的是同一把钥匙

非对称加密:有公钥和私钥

RSA加密算法:通过两个不同的数学计算公式,加密和解密数据

复杂度感悟:量变引起质变

相关推荐
yaoxin52112321 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫21 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
学逆向的1 天前
C++纯虚函数
开发语言·c++·网络安全
程序员二叉1 天前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉1 天前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
凡人叶枫1 天前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员1 天前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean1 天前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
LabVIEW开发1 天前
LabVIEW + MATLAB 混合编程:爆炸场测试数据精准采集方案
开发语言·matlab·labview
嵌入式协会20240721 天前
(已解决)MinIO python 获取预签名出现forbidden、errornetwork等错误
java·开发语言·python