浅谈大型网站的算法和架构(1)

news/2024/5/9 3:09:27/文章来源:https://blog.csdn.net/zzhays/article/details/8052917

51cto

上个月老大给我们讲解了"浅谈大型网站的算法和架构",获益匪浅。由于篇幅太多(光数据结构大概就有20多种),我也没有办法一下全部吸收,故我边理解,边分章节与大家分享。

这周我查阅资料,来理解各个数据结构和算法。

推荐几本个人感觉不错的书籍:——我把电子书放到http://download.csdn.net/user/rtxbc这里了,需要下载,到这里进行下载。

《指针的艺术.蔡明志》——我只看了C语言这一篇。C语言个人感觉比较难的也就是指针了。

《数据结构 使用C语言[朱战立]》——严蔚敏的也不错,可就是里面的很多语法都是抽象语法,无法运行。我个人如果没有办法在终端运行,很难印象深刻。

《算法导论》

为了学习下载的电子书(截个图):

算法结构

C语言

介绍

1984年,Pascal语义的发明者和结构化程序设计创始者,沃斯提出“算法 + 数据结构 = 程序“,从而获得当年的图灵奖。

现今技术日新月异,互联网技术在不断的发展中,从而也翻开了历史的新篇章,这时有人提出了“算法 + 架构 = 互联网程序“。

生活在这个时代的程序员来说,这又意味着什么呢?

从这篇文章开始,我将与各位浅谈大型网站的算法和架构,今天先了解一下基础知识,然后我们进行逐步过渡。

查找算法(单机)

1.有个无序数组。

2.找7到20之间的数,你的思路是什么?

无怪乎以下两点:

1》冒泡排序

2》二分查找快

3.C代码实现

 执行结果

数组中插入数据

数组问题:插入太慢,得挪数据。

请看下面的代码,

 执行结果

试试链表

代码结构

链表插入数据

 

链表的特点是插入快,查找慢。

代码实现:

实现方式


请看执行过程

于是有了二叉树(Binary Tree)

我们不难发现上面的两个结构(数组和链表)各有弊端。

1》数组在更新的时候比较消耗资源,需要挨个挪动后面的元素。

2》而链表在查询的时候需要从头挨个对比之后选择出要查询的内容。

综上我们需要一个查询更快,更新更快的结构,于是我们有了二叉树。由于篇幅太长,下一篇继续介绍。

http://images.51cto.com/files/uploadimg/20120928/14183021.png

原文链接:http://www.cnblogs.com/baochuan/archive/2012/09/27/2704994.html

【编辑推荐】

  1. 互联网创业的准备:架构
  2. #微架构设计#快速表态存储设计
  3. 算法设计师成新宠
  4. 电子政务数据交换和共享平台技术架构分析
  5. 三层架构:只说明较好,不是非用不可!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_856842.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);报错

这里关闭窗口提示了错误,查找了好久才发现是是继承错误了,把Frame改为JFrame就可以了。

网站后端使用java还是php多_网站建设时是使用单页面,还是使用多页面设计?...

对于很多客户而言,网站是做单页面还是做多页面设计,是个很纠结的问题。随着移动端还有社交媒体的出现,简简单单响应式的单页面,成为了现在网建设的趋势。传统多页面的设计已经得到了广泛的认知和认可。所以,是选择单页…

怎么做网站在线客服_怎么做网站推广?

网站推广对于大多数网站来说都是一门必修课,目前,互联网上的网站推广方式有很多种,但是最典型的就是搜索引擎推广、电子邮件推广、资源合作推广、信息发布和网络广告推广等方式,无论哪种推广方式对于提升网站知名度和流量具有一定…

win10 IIS网站部署实录

win10 IIS网站部署实录 摘要 启用IIS设置url默认文档http500问题asp错误信息调试asp启用父路径 64位系统下的Access数据库驱动问题 背景 公司购买了一个网站模板,想要在IIS搭建并维护成公司自己的网站。测试环境 操作系统:64位win10专业版(创作者更新)…

Java开发必知道的国外10大网站

1、https://www.google.com/ 2、https://stackoverflow.com 里面包含各种开发遇到的问题及答案,质量比较高。 3、https://github.com/ 免费的开源代码托管网站,包括了许多开源的项目及示例项目等。 4、https://dzone.com/ 提供技术新闻、编程教程、及…

基于GO语言,查询信息类网站部署手册

编译过程 注:服务器版本 [rootsgk privacy]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 前期准备 所有文件夹放在同一目录,硬盘一定要很大 很大,至少100G以上 [rootsgk ~]# ls anaconda-ks.cfg database database.…

DAY16 - 函数(调用机制、封装、内部函数、回调、递归、网站基本布局)

8.1函数介绍 说明:函数的作用在于对一个功能的封装,封装后在别的页面中引入并调用,可以节省代码量,可以冗余。 8.1.1函数的定义 Function 函数名(【形参1】【,参数2】【,形参n......】){ 要封装到函数的代码; 【return 返回值】; …

手机访问网站自动跳转到手机版

方法一: 目前很多网站已经出现了手机版的网站,手机网站是和互联网上的网站同步更新的,大多数人访问我们的网站是直接访问电脑上的域名,不可能为了手机网站重新记住一个域名,大家都知道,中国人都是比较懒的&…

大型网站技术架构(一)--大型网站架构演化

写在开头:看完chaofanwei关于《大型网站技术架构》一书的阅读笔记,觉得很有用,特此转载留存,对原作者表示感谢 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完…

songtaste网站歌曲真实URL获取

个人挺喜欢songtaste网站的歌曲的,下载方法也层出不穷,可是作为程序员如果不知其中原理的方法真是羞愧。首先简单点的方法当然有google插件这样的嗅探器了,不过这种工具的原理还不是很了解。今天先总结一下songtaste网站部分歌曲的真实下载链…

(转载)如何用PHP开发一个完整的网站 讲解开发流程 多人开发

引言: 一个清楚的目标定位学习 PHP 才更有动力和方向,约有 30% 的 PHPer 因为学习到一半而没有明确的方向而最终放弃或搁浅。 手头收藏一些好的常用类或方法,能提高我们的开发的速度。如:分页、上传、字符过滤、数据库操作、生成 …

IE兼容性视图无法添加网站

今天遇到公司财务的同事需要用IE登入北京银行网银,登入后显示页面不全,只能设置兼容性视图,结果发现兼容性视图死活无法添加,显示下图: 解决方法: 按下winr打开运行窗口,输入regedit回车打开注…

IE兼容性视图无法添加网站

IE兼容性视图无法添加网站,提示输入一个无效域 ,本文将详细介绍如何修复此问题。 解决方法: 按下winr打开运行窗口,输入regedit回车打开注册表编辑器,如下图所示: 定位到HKEY_CURRENT_USER\Software\Micr…

VS2015本地发布以及IIS7部署网站

VS本地发布网站 右击WEB程序集,点击“发布” 在发布选项卡中选择“自定义”,然后输入管理配置文件的名字,点击确定,进入下一步 在发布方法中选择“文件系统”,选择要存储发布文件的位置,点击下一步 在配置中选择“…

CSS+DIV创建一个可爱的小中心网站

有几种不同的方式到垂直中心与 CSS的对象,但它是很困难的选择是正确的。我会告诉你所有我见过的最好的方式,以及如何创建一个可爱的小中心网站。 用CSS垂直居中是不是一件容易的事。有许多不同的方式,在某些浏览器可能无法正常工作。让我们回…

如何正确地优化图像或视频网站

如果,你有一个照片博客或嵌入视频在您的网站有很大的信息和精湛的内容,但有一个问题。搜索引擎无法解释和理解容易,因为他们可以处理文字内容的图片或视频。事实上,有没有文字内容中嵌入视频的网页是相当于一个空白网页的具体原因…

使用HttpSessionListener监听器 监控当前网站在线人数

ServletAPI提供了大量的监听器来监听WEB应用的内部事件,以下简单利用HttpSessionListener监听器来实现监控当前网站的在线人数。 相应代码如下: [java] view plain copy package neo.app.servlet; import java.util.HashSet; import java.util.Map;…

我的网站有第一次的收入了

昨天我申请百度联盟成功了,今天登录百度联盟发现昨天的收入是3.96元,虽然很少,今天收录也掉了30多页 但我还是很高兴,从自学建站到自学SEO将近两年,终于有了第一次收入。 拿 出来献丑了,但是真的很高兴。还…

使用dede系统建设中英文双语网站详解

由于公司要我做一个中英文双语的企业站,而我已经使用DEDE系统把中文页面( http://www.heatpress123.net )都做好了而且已经有了排名所以想在原先的基础上添加一个英文页面,我也在网络上找了很多相关资料,说实话也得到…

百度快照的SEO意义,别再跟风了

所谓 百度快照指的是:几乎每个被百度收录的网页,在百度上都存有一个纯文本的备份文件存贮在百度服务器上,此文件被称为 百度快照。当用户在百度搜索引擎上试图打开某个搜索结果无法打开,或打开速度特别慢时,该网页的百…