序
上个月老大给我们讲解了"浅谈大型网站的算法和架构",获益匪浅。由于篇幅太多(光数据结构大概就有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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验