`
zhangkehbg
  • 浏览: 10965 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

三种数据结构总结(party_bid_core)

阅读更多

party_bid_core介绍:

之前的party_bid练习中,没有规定使用什么数据结构存储项目中使用的数据.新的项目party_bid_core中,要求使用三种不同的数据结构在测试案例的基础上实现party_bid的数据存储.

data_structure_1:

第一种数据结构为:

activities = [  
    {  
        name: "",  
        sign_ups: [],  
        bids: []  
    },

在一个activities类中分别有name(活动名称),sign_up(活动报名信息),bids(竞价报名信息)三个属性.每一个活动的报名和竞价信息都存储在相应的类的sign_up和bids中,报名信息sign_up中又有一个类保存报名这的电话和名字,bids中则有竞价的名字name和相应的竞价报名信息bidding.这种数据的优点就是结构很清晰,易懂.缺点是嵌套太多,修改数据需要一层一层的遍历.比较麻烦.如

{  
        name: "first activity",  
        sign_ups: [  
            {  
                name: "仝键",  
                phone: "13600000000"  
            },  
            {  
                name: "于硕",  
                phone: "15600000000"  
            }  
        ],  
        bids: [  
            {  
                name: "竞价1",  
                biddings: [  
                    {  
                        name: "仝键",  
                        phone: "13600000000",  
                        price: "12"  
  
                    },  
                    {  
                        name: "于硕",  
                        phone: "15600000000",  
                        price: "10"  
                    }  
                ]  
            }  

 

data_structure_2:

第二种数据结构为:

activities = {  
    "0": {  
        name: "",  
        sign_ups: [],  
        bids: [],  
        biddings: {}  
    }

 "0"代表活动的id,这种数据结构中是通过活动的id来查找的,与第一种数据结构的差别为将竞价的详细信息biddings提出来,通过bids中的键在bidding中查找.添加和读取竞价信息更加方便.如:

activities = {  
    "0": {  
        name: "first activity",  
        sign_ups: [  
            {  
                name: "仝键",  
                phone: "13600000000"  
            },  
            {  
                name: "于硕",  
                phone: "15600000000"  
            }  
        ],  
        bids: ["竞价1", "竞价2"],  
        biddings: {  
            "竞价1": [  
                {  
                    phone: "13600000000",  
                    price: "12"  
                },  
                {  
                    phone: "15600000000",  
                    price: "10"  
                }  
            ],  
            "竞价2": [  
                {  
                    phone: "13600000000",  
                    price: "10"  
  
                },  
                {  
                    phone: "15600000000",  
                    price: "12"  
                },  
            ]  
        }  ;

 

data_structure_3:

第三中数据结构为:

activities = [  
    {  
        id: "0",  
        name: "first activity"  
    }
 
];  
sign_ups = [  
    {  
        name: "仝键",  
        phone: "13600000000",  
        activity_id: "0"  
    }
]  
bids = [  
    {  
        name: "竞价1",  
        activity_name: "0",  
        biddings: [  
            {  
                phone: "13600000000",  
                price: "9"  
            } 
        ]  
    }  
]; 

 这种数据结构将活动名称(activities),报名信息(sign_ups),竞价信息(bids)分开存储.虽然更利于操作,独立性比较强,但结构不是前两种数据结构那样清晰。

 

总结:

三种数据结构各有优缺点,可以根据需要选择合适的数据结构。这个练习中,我根据要求通过了测试,打破了以前比较单一的数据存储思维方式,特别是第三种数据结构,一种横向思维。收获不少。

分享到:
评论
1 楼 zhangfortune 2014-09-12  
数据结构和数据库基本功很踏实。赞一个。

相关推荐

    uid_score_bid.dat

    数据格式 uid_score_bid 如 dingdanglbh,4.0 ,25862578 Luna-cat,5.0 ,25862578 aiyung,5.0 ,25862578

    case9_bid.rar_PSO_PSO power_PSO 潮流_case9_pso power flow

    标题中的"case9_bid.rar_PSO_PSO power_PSO 潮流_case9_pso power flow"揭示了这个压缩包文件包含的是一个关于电力系统潮流计算的案例,使用了粒子群优化(PSO, Particle Swarm Optimization)算法。PSO是一种基于...

    crc16-CCITT.rar_ccctt.5com_ccctt3bid_ccctt9. bid_crc16 ccitt ver

    CRC(Cyclic Redundancy Check,循环冗余校验)是一种广泛用于数据传输和存储中的错误检测技术。在本文中,我们将深入探讨CRC-16,特别是与CCITT标准相关的实现,以及它在Verilog硬件描述语言中的应用。 标题中的...

    EURUSD_1 Min_Bid_2003.05.04_2019.02.02.zip

    欧美1分钟历史数据,2003年5月到2019年2月,MT4EA回测好用。

    东北大学 数据结构 代码全部

    C++是一种强大的、面向对象的编程语言,特别适合处理复杂的算法和数据结构。 1. **C++语言基础**: C++提供了丰富的特性,包括类、模板、异常处理、命名空间等。在这个项目中,我们可能会看到类的使用来封装数据和...

    基于JavaScript的Java_Bid招标项目前端设计源码

    该招标项目前端设计源码采用JavaScript编写,包含280个文件,涵盖177个JavaScript文件、26个CSS文件、24个HTML文件、22个Java文件以及少量地图、JSON、图像、XML等文件。整个项目旨在打造一个功能完善、界面美观的...

    mc_bid

    "mc_bid"通常在IT行业中指的是“Multi-Channel Bid”,这是一种广告投放策略,特别是在数字营销领域,用于优化广告在多个渠道上的出价。这个概念主要应用于程序化广告(Programmatic Advertising),通过自动化的...

    Repaso_Clases_Objetos_call_aplly_bid_22_02_2021

    标题 "Repaso_Clases_Objetos_call_aplly_bid_22_02_2021" 暗示这是一个关于回顾类与对象、`call` 和 `apply` 方法以及可能涉及到的 JavaScript 语言特性的教程或复习资料。描述部分的信息较为简单,与标题相同,...

    ssd5 数据结构 exercise5

    例如,`advertisement.cpp`可能涉及广告展示的优先级队列,`client.cpp`可能涉及到客户信息的散列表存储,`bidhistory.cpp`可能包含投标历史的链表或树结构,而`bid.cpp`可能涉及到投标出价的堆数据结构。...

    bid0-lid64-steam.game_steamzc9_2.0.0.2702.exe.file

    bid0-lid64-steam.game_steamzc9_2.0.0.2702.exe.file

    bid0-lid0-steam游戏管家_steambdth01_1.0.0.1487@1prw2r@gog.exe

    bid0-lid0-steam游戏管家_steambdth01_1.0.0.1487@1prw2r@gog.exe

    数据结构课程设计网上拍卖系统

    在拍卖系统中,可能需要以下几种主要的数据结构: 1. **链表**:用于存储动态拍卖商品列表,因为新商品可能会随时添加或删除。 2. **队列**:可以用于处理用户的出价请求,确保按照时间顺序公平处理。 3. **栈**:...

    backup_1000821v1001400000.zip

    总结起来,这个“backup_1000821v1001400000.zip”压缩包可能包含了一个陌陌应用或系统的备份数据,其中`verify.json`和`config.json`文件提供了备份验证和应用配置信息,而`verify.sign`和`verify.signature`则保证...

    去噪代码matlab-PGBL_BID:PGBL_BID的Matlab代码

    去噪代码 matlab

    bid_shift_reg.rar_plus

    在电子工程领域,VHDL是一种广泛使用的硬件描述语言,用于设计可编程逻辑器件(如FPGA或ASIC)的行为和结构。 双向移位寄存器是一种能够进行左移和右移操作的存储单元。它在数据处理、信号处理和通信系统中有着广泛...

    ECSHOP数据结构,表结构,数据库设计

    ### ECSHOP 数据结构、表结构与数据库设计详解 #### 概述 ECSHOP是一款基于PHP语言的开源网上商店系统,具有丰富的功能和良好的用户体验。本文将详细介绍ECSHOP v2.7.2版本中的数据结构、表结构以及数据库设计等...

    Bid Documents - Toyota Hilux Fx_pdf_

    在IT领域,PDF(Portable Document Format)是一种广泛使用的文档格式,用于保存内容,确保在不同设备和操作系统上的一致显示。它通常包含文字、图像、表格等元素,并且可以进行安全保护,防止未经授权的编辑或复制...

    数据结构课程设计报告-拍卖管理系统.docx

    在《数据结构课程设计总结报告》中,第一章详细阐述了需求分析。这一阶段的目标是理解系统规格说明,包括拍卖管理系统的功能和性能要求,如用户管理、拍卖物品分类、出价记录、时间管理等。同时,需求分析还需要与...

    bid0-lid64-steam.game_steamzc_2.0.0.2242.exe

    bid0-lid64-steam.game_steamzc_2.0.0.2242.exe

    数据结构课程设计报告-网上拍卖系统文档 .doc

    数据结构课程设计报告的核心是构建一个网上拍卖系统,该系统具备用户管理、拍卖信息发布、浏览、竞拍等功能,以及提供搜索和排序优化拍卖流程。在报告中,主要涉及到了以下几个关键知识点: 1. **需求分析**: ...

Global site tag (gtag.js) - Google Analytics