python遞歸的實(shí)現(xiàn)途徑 2021csp怎么考?
2021csp怎么考?考試內(nèi)容主要覆蓋大學(xué)計算機(jī)專業(yè)所學(xué)習(xí)的程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)以及算法,以及相關(guān)的數(shù)學(xué)基礎(chǔ)知識。包括但不限于:(1)程序設(shè)計基礎(chǔ)邏輯與數(shù)算,分支循環(huán),過程調(diào)用(遞歸),字符串操作,文件
2021csp怎么考?
考試內(nèi)容主要覆蓋大學(xué)計算機(jī)專業(yè)所學(xué)習(xí)的程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)以及算法,以及相關(guān)的數(shù)學(xué)基礎(chǔ)知識。包括但不限于:
(1)程序設(shè)計基礎(chǔ)
邏輯與數(shù)算,分支循環(huán),過程調(diào)用(遞歸),字符串操作,文件操作等。
(2)數(shù)據(jù)結(jié)構(gòu)
線性表(數(shù)組、隊列、棧、鏈表)、樹(堆、排序二叉樹)、哈希表、集合與映射、圖。
(3)算法與算法設(shè)計策略
排序與查找,枚舉,貪心策略,分治策略,遞推與遞歸,動態(tài)規(guī)劃,搜索,圖論算法,計算幾何,字符串算法、線段樹、隨機(jī)算法,近似算法等。
6、認(rèn)證
認(rèn)證全部采用上機(jī)編程,可以自帶參考資料,包括:常用語言的程序設(shè)計基礎(chǔ)書、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計、組合數(shù)學(xué)等相關(guān)書籍,入場時須經(jīng)監(jiān)考人員檢查。但是不允許使用手機(jī)和電子設(shè)備。
考核為黑盒測試,編制的程序在服務(wù)器端被編譯執(zhí)行,采用多組測試數(shù)據(jù)對程序進(jìn)行驗(yàn)證,檢驗(yàn)在題目規(guī)定的運(yùn)行時間和內(nèi)存空間限制內(nèi),是否能夠輸出正確結(jié)果,根據(jù)輸出結(jié)果正確與否來進(jìn)行評分,沒有人工評判環(huán)節(jié),保證認(rèn)證的公平和公正性;
認(rèn)證時間為4小時,共5道題,從第一題至第五題,難度依次遞進(jìn),每題100分,總分500分。
CSP認(rèn)證考試的編譯器環(huán)境為:
C/C : Codeblocks-16.01或Dev-CPP 5.4.0 (Min GW 4.7.2)
Java:Eclipse (Java SDK 1.7.0_15)
Python:版本號:3.6.5、PyCharm、Sublime
瀏覽器:Chrome
有關(guān)Python字符串反轉(zhuǎn)的遞歸實(shí)現(xiàn),為什么以下代碼實(shí)現(xiàn)不了?
羌笛何須怨楊柳,春風(fēng)不度玉門關(guān)。
日出江花紅勝火,春來江水綠如藍(lán)。
不知近水花先發(fā),疑是經(jīng)冬雪未銷。
花間一壺酒,獨(dú)酌無相親。
窗含西嶺千秋雪,門泊東吳萬里船。
欲說還休,卻道天涼好個秋。
人皆苦炎熱,我愛夏日長。
不知近水花先發(fā),疑是經(jīng)冬雪未銷。
如何自學(xué)matlab編程或者python編程?
作為小白,在學(xué)習(xí)Python的時候,必然會走一定的彎路,有人在彎路上走丟了,有人走出了彎路。在此分享我的Python學(xué)習(xí)之路:
基礎(chǔ)部分:
(1)初始Python:
1. Python 簡介和發(fā)展歷史2. Python 優(yōu)缺點(diǎn)3. Python 能做什么4. Python 環(huán)境搭建,命令行打印“Python 課程開始了!”5. PyCharm 安裝及使用6. 輸入、輸出7. 注釋(2)數(shù)據(jù)類型
1. 變量是什么、變量命名. 標(biāo)識符有哪些3. 數(shù)據(jù)類型概述,Python有中哪些數(shù)據(jù)類型4. 數(shù)值類型5. 算數(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、運(yùn)算符優(yōu)先級6. 數(shù)據(jù)類型轉(zhuǎn)換(3)邏輯控制
1. 布爾類型2. if、if...else 、if...elif 、嵌套結(jié)構(gòu)3. 猜拳游戲4. 字符串與切片5. 字符串常用函數(shù)6. while循環(huán)(4)復(fù)雜類型和循環(huán)結(jié)構(gòu)和算法
1. for和for ... else2. break 、continue3. 元組3. 列表概念及操作4. 集合5. 算法:冒泡排序6. 字典(5)函數(shù)應(yīng)用和遞歸算法
1. 文件操作概念2. 文件打開和關(guān)閉3. 文件讀寫4. 文件定位讀寫5. 文件重命名、文件刪除6. 文件夾操作7. 遞歸打印目錄8. 在指定目標(biāo)中文件中追加內(nèi)容(包含目錄、文件是否存在判斷)(6)文件操作
1. 模塊簡介2. 使用標(biāo)準(zhǔn)庫中的模塊3. 自定義模塊4. _name_屬性5. 包6. 安裝及使用第三方模塊7. 異常概念8. 捕獲異常9. 異常的傳遞10. 自定義異常(7)面向?qū)ο?/p>
1. 面向?qū)ο蟾拍罱榻B2. 類和對象概念3. 類的定義和實(shí)例化對象4. 對象初始化狀態(tài)5. 魔方方法7. self8. 析構(gòu)函數(shù)9. 訪問權(quán)限控制10. 面向?qū)ο缶毩?xí)之回合制小游戲(8)繼承和多態(tài)
1. 單繼承2. 多繼承3. 重寫父類方法和調(diào)用父類方法4. 類屬性和實(shí)例屬性5. 靜態(tài)方法和類方法6. 動態(tài)給實(shí)例添加屬性與方法并使用__slots(9)設(shè)計模式
1. 設(shè)計模式簡介2. 單例設(shè)計模式3. new()3. 簡單工廠4. 抽象工廠
進(jìn)階部分:
(1)函數(shù)高級特性
1. 函數(shù)變量2. 生成器2. 閉包3. 裝飾器6. 匿名函數(shù)8. 偏函數(shù)9. 對象比較10. 深拷貝和淺拷貝11. 私有屬性12. 屬性property(2)進(jìn)程
1. 進(jìn)程簡介2. 單任務(wù),啟動進(jìn)程實(shí)現(xiàn)多任務(wù)3. 封裝進(jìn)程為進(jìn)程池4. 進(jìn)程間通信(Queue)5. fork創(chuàng)建進(jìn)程6. multiprocessing創(chuàng)建進(jìn)程(3)線程和協(xié)程
1. 線程簡介2. 啟動一個線程3. 線程間共享數(shù)據(jù)4. 生產(chǎn)者與消費(fèi)者5. 協(xié)程簡介6. 協(xié)程原理7. threading模塊創(chuàng)建線程8. 線程間通信9. threadLocal變量
WEB前端技術(shù)
(1)HTML
1. HTML簡介2. HTML總體結(jié)構(gòu)3. HTML 5 和HTML 4的對比4. HTML 基本語法5. 常用標(biāo)簽6. 練習(xí)案例:簡單登錄。客戶端向服務(wù)器端傳遞數(shù)據(jù)(2)
1. CSS 3.0 簡介,盒子模型2. 引入CSS的三種. 引入優(yōu)先級4. CSS 選擇器5. CSS 各種屬性6. CSS 偽選擇器7. 練習(xí)案例:完善頁面效果。注冊信息發(fā)送給客戶端(3)
1. JavaScript簡介2. JavaScript執(zhí)行原理3. JavaScript 組成(三部分)4. ECMAScript核心語法:基本語法、數(shù)據(jù)類型、判斷語句、循環(huán)、類型轉(zhuǎn)換、數(shù)值類型判斷5. 內(nèi)置對象6. 字符串常用函數(shù)(4)
1. DOM對象:獲取元素的幾種. BOM對象:彈出框、定時器、計時器(5)
1. jQuery 簡介2. jQuery和JavaScript的聯(lián)系3. jQuery命名規(guī)則4. jQuery對象和DOM對象轉(zhuǎn)換5. 全部選擇器6. 動畫(6)
1. jQuery中DOM操作2. 事件3. 循環(huán)遍歷4. 正則和表單驗(yàn)證(大量練習(xí))Linux基礎(chǔ)
(1)Linux系統(tǒng)
1. Linux 發(fā)展歷史介紹2. 虛擬機(jī)安裝(快速演示)3. Cent OS 6.X 安裝(快速演示)4. 虛擬機(jī)快照和管理5. 常用命令6. 虛擬網(wǎng)卡概述,靜態(tài)IP設(shè)置7. 配置Python環(huán)境8. 安裝MySQL(解壓版或yum)(2)Redis單機(jī)版操作
1. NoSQL是什么,出現(xiàn)目的2. Redis 簡介3. Linux中JDK 安裝4. Linux中Redis 單機(jī)版安裝配置5. Redis 數(shù)據(jù)類型6. Redis 不同數(shù)據(jù)的命令操作演示7. Redis 的windows客戶端工具8. Python 連接Redis(3)Redis集群操作
1. 分布式概念2. 集群概念3. 什么場景適用集群4. 集群搭建5. Python連接Redis集群6. 案例:緩存首頁菜單內(nèi)容
數(shù)據(jù)庫基礎(chǔ)及性能優(yōu)化
(1)MySQL與Python交互
1. MySQL 初識2. MySQL 安裝(不占用課時)3. MySQL 命令行工具簡單實(shí)用4. MySQL 客戶端工具Navicat使用5. MySQL 命令執(zhí)行原理6. 創(chuàng)建、刪除數(shù)據(jù)庫命令(帶編碼字符集)7. 列類型8. 創(chuàng)建、刪除表命令9. 約束:主鍵約束、唯一約束、非空約束10. 單條數(shù)據(jù)CRUD11. 練習(xí)案例:Python連接MySQL實(shí)現(xiàn)單表CRUD(2)MySQL查詢
1. 分組查詢2. 聚合函數(shù)3. 內(nèi)置函數(shù)4. 分頁查詢5. 排序6. 視圖7. 索引
(3)MySQL 多表查詢
1. 主外鍵約束2. 關(guān)聯(lián)查詢(內(nèi)連接、外鏈接)3. 自關(guān)聯(lián)4. 子查詢5. 事務(wù)(4)MySQL高級應(yīng)用
1. MySQL慢查日志的開啟和存儲. MySQL慢查日志分析工具之mysqldumpslow3. MySQL慢查日志分析工具之ptquery-digest4. 如何通過慢查日志發(fā)現(xiàn)有問題的SQL5. 通過explain查詢和分析SQL的執(zhí)行計劃6. SQL優(yōu)化:Count()和Max()的優(yōu)化、子查詢的優(yōu)化、group by 的優(yōu)化、Limit查詢的優(yōu)化、索引優(yōu)化
Python Web框架Django
(1)Django入門
1. Django簡介2. Django環(huán)境搭建3. Django-Hello World4. 顯示登錄頁面5. Get登錄功能6. Post登錄功能7. 注冊功能8. 顯示注冊頁面9. 處理注冊功能(2)Django數(shù)據(jù)庫連接與分頁
1. admin后臺管理類操作數(shù)據(jù)庫2. 查詢所有信息3. 登錄功能(連接MySQL)4. 影片展示5. 影片展示(原生分頁)6. Django分頁7. 頁碼翻頁功能(3)ORM
1. 單表查詢CRUD2. 創(chuàng)建數(shù)據(jù)庫表3. 一對一的關(guān)系4. 一對多的關(guān)系5. 多對多的關(guān)系6. 學(xué)生注冊功能(4)多表操作
1. 查詢班級信息_學(xué)生詳情2. 自定義Manager1(查詢)3. 邏輯刪除_單個對象刪除_多個對象刪除4. 自定義Manager3(create)5. 分析執(zhí)行過程6. 多表插入(重寫save)(5)高級查詢
1. 聚合函數(shù)_分組聚合查詢2. 原生查詢3. Q查詢_F查詢4. Django事務(wù)_查詢兩個特性5. 配置URL6. 請求和響應(yīng)對象(6)上傳與下載
1. 文件上傳2. 文件下載3. 重定向_錯誤訂制頁面4. Cookie語法5. 三天免登錄(7)Session
1. Session語法2. Session應(yīng)用(顯示個人信息)3. jsonpickle序列化隱藏字段4. 讀取靜態(tài)文件5. django引入靜態(tài)文件(8)模版使用
1. 模板渲染底層原理2. 模板標(biāo)簽語法3. 過濾器4. 自定義過濾器5. 全局上下文(9)CSRF
1. 模板繼承_CSRF原理2. 畫圖分析CSRF原理3. 自定義中間件4. 分析CSRF源碼5. 修改Admin后臺頁面布局(10)Ajax
1. 表單類2. 表單校驗(yàn)(表單類)3. 表單校驗(yàn)(JS原生校驗(yàn))4. AJAX語法5. 用戶名唯一校驗(yàn)(ajax)最后學(xué)習(xí), pythonWeb另外兩大框架: Flask、Tornado。