关于结构
在程序中,多个数据都是按照一定的结构来表达和存储的,设计好结构,是为了更好的处理做准备的。如果结构方便处理,那么算法的逻辑部分就会变得简单。
关于算法
算法就是解决问题的逻辑思路,一个好的算法要具有高效性的特性;算法结合结构,不同的结构,要想到达同样的效果,用的算法可能不一致。
结构+算法
计算机为了处理一个问题,就是要对数据进行处理,得到预期的结果。处理数据首先要设计数据的存储结构,然后结合设计的结构,进行算法的设计。在某种程度上,算法是结构的某种补充,但是结构也是算法的补充,两者在解决一个问题的分量中孰轻孰重,只要能达到效果,而且效率更高就行了。
例子
这里用一个例子来说明结构和算法的互补的道理:
预期的效果要求:展示一个车的品牌、车系、车型的三级联动。
首先面对的问题是如何在进行设计品牌、车系、车型的数据结构设计呢?还有怎么在后台处理这些数据,前后台如何协作来完成这种效果。
效果如下:
第一种方法:良好的结构 (结构部分)+ 简单的前段处理(算法部分)
结构
[
{
" firstletter": "B",
"list": [
{
" id": 1,
"name": "宝马",
"firstletter": "B",
"logo": "xxx"
},
{
" id": 2,
"name": "宝骏",
"firstletter": "B",
"logo": "yyy"
}
]
}
]
算法:前段获取到该结构后,进行简单的遍历填充,就可以了;
第二种方法:简单的结构 + 相对复杂些的算法
结构:
[
{
" firstletter": "B",
"list": [
{
" id": 1,
"name": "宝马",
"firstletter": "B",
"logo": "xxx"
},
{
" id": 2,
"name": "宝骏",
"firstletter": "B",
"logo": "yyy"
}
]
}
]