zoukankan      html  css  js  c++  java
  • 项目中,使用算法的简单例子

    1.为什么要学习算法

    学习算法肯定是为了使程序更加的高效

    2.简单使用例子

    1.需求:查找部分商品类目信息并且分类返回

    2.代码

        public ResultVO list() {
            // 1)查询所有上架商品
            List<ProductInfo> productInfoList = productInfoService.findUpAll();
            // 2)通过商品查询响应的类目
            List<Integer> categoryTypeList = productInfoList.stream().map(x -> x.getCategoryType()).collect(Collectors.toList());
            List<ProductCategory> productCategoryList = productCategoryService.findByCategoryTypeIn(categoryTypeList);
            // 3)拼装成对应的json
            List<ProductVO> productVOList = new ArrayList<>();
            for(ProductCategory productCategory:productCategoryList){
                ProductVO productVO = new ProductVO();
                productVO.setCategoryName(productCategory.getCategoryName());
                productVO.setCategoryType(productCategory.getCategoryType());
                List<ProductInfoVO> productInfoVOList = new ArrayList<>();
                for(ProductInfo productInfo:productInfoList){
                    if(productCategory.getCategoryType().equals(productInfo.getCategoryType()) ){
                        ProductInfoVO productInfoVO = new ProductInfoVO();
                        BeanUtils.copyProperties(productInfo,productInfoVO);
                        productInfoVOList.add(productInfoVO);
                    }
                }
                productVO.setProductInfoVOList(productInfoVOList);
                productVOList.add(productVO);
            }
            return ResultVOUtil.success(productVOList);
        }

    首先我们查找了所有的商品,然后再将其类目查找了出来

    但是我们在拼装这个json时候,我们采用了循环的方法,这个方法的时间复杂度是O(N^2),如果使用Map这个数据结构,我们的时间复杂度将会减少,具体减少就看hash算法

  • 相关阅读:
    mysql触发器:插入数据前更新创建时间为服务器的时间
    import Vue form 'vue’的意思
    【LOJ#10172】涂抹果酱
    【LOJ#10171】牧场的安排
    【LOJ#10170】国王
    【POJ2411】Mondriaan's Dream
    【POJ2228】Naptime
    【CTSC1997】选课
    【CH5302】金字塔
    【洛谷P1168】中位数
  • 原文地址:https://www.cnblogs.com/xzmxddx/p/10354831.html
Copyright © 2011-2022 走看看