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


     
      上个月老大给我们讲解了"浅谈大型网站的算法和架构",获益匪浅。由于篇幅太多(光数据结构大概就有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》而链表在查询的时候需要从头挨个对比之后选择出要查询的内容。
      

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

     
    推荐
     
    喜欢编程
    分类: 结构算法
    标签: C Language
  • 相关阅读:

    修改 linux 时区时间和 php 时区
    夺命雷公狗—玩转SEO---21---域名购买技巧
    夺命雷公狗—玩转SEO---20---K站
    夺命雷公狗—玩转SEO---19---降权
    夺命雷公狗—玩转SEO---18---索引
    夺命雷公狗—玩转SEO---17---收录
    夺命雷公狗—玩转SEO---16---关键词词性和定位关键词
    夺命雷公狗—玩转SEO---15---域名
    夺命雷公狗—玩转SEO---14---空间和服务器的区别
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2706322.html
Copyright © 2020-2023  润新知