结构+算法

关于结构

在程序中,多个数据都是按照一定的结构来表达和存储的,设计好结构,是为了更好的处理做准备的。如果结构方便处理,那么算法的逻辑部分就会变得简单。

关于算法

算法就是解决问题的逻辑思路,一个好的算法要具有高效性的特性;算法结合结构,不同的结构,要想到达同样的效果,用的算法可能不一致。

结构+算法

计算机为了处理一个问题,就是要对数据进行处理,得到预期的结果。处理数据首先要设计数据的存储结构,然后结合设计的结构,进行算法的设计。在某种程度上,算法是结构的某种补充,但是结构也是算法的补充,两者在解决一个问题的分量中孰轻孰重,只要能达到效果,而且效率更高就行了。

例子

这里用一个例子来说明结构和算法的互补的道理:
预期的效果要求:展示一个车的品牌、车系、车型的三级联动。
首先面对的问题是如何在进行设计品牌、车系、车型的数据结构设计呢?还有怎么在后台处理这些数据,前后台如何协作来完成这种效果。
效果如下:
这里写图片描述

第一种方法:良好的结构 (结构部分)+ 简单的前段处理(算法部分)

结构

[
    {
        " 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"
            }
        ]
    }
]

算法 :前端获取到数据后,进行简单的遍历,但是要进行判断当前的元素是按照什么开头的,然后进行归类处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值