老鸟进来讨论一上,数据结构与web开发
老鸟进来讨论一下,数据结构与web开发
今天学了数据结构中的基础知识和链表。
感觉数据结构还是很巧妙的。
我之前所了解到的,一般都是web开发不怎么与数据结构打交道。
我想问的是,在web开发中,有没有一些功能,可以用巧妙的数据结构去实现?
如果有的话,请举例子,非常感谢。
------解决方案--------------------
呵呵,不需要理会数据结构的话,甲骨文就没用武之地了
最简单的例子就是无限分类,你怎么保存分类表,影响后续数据扩展的增删改查的算法
另外,服务器群(现在好像都叫云计算了)的负载平衡等等都需要一定的数学知识
偶是门外汉,只会向大门扔砖头,坐等楼下反对意见,哈哈
------解决方案--------------------
数据结构无所不在
因为他是从实践中提升出来的
你总是自救或不自觉的使用着“数据结构”
比如你使用的 php 数组就是一个哈希表
你网站上的匪类目录就是一棵树
关联查询就是在使用链表
.......
------解决方案--------------------
和数据结构最紧密的那就是算法。算法的核心就是时空转换(时间和空间)。而用何种算法是根据要实现的功能来决定的。其实你很多时候都在用着各种算法(比如排序算法、查找算法。。。)、数据结构(树、哈希表。。。)。只不过在php这种高级脚本语言中,只是调一个函数,或者利用语言自带的结构来实现了。
楼上提到的分类其实就是个树状结构,这是个微观的例子。我举个宏观的例子:sns系统、微博系统用户之间的关系、相关度。这些都要用到很多数据结构和算法的知识。
要说数据结构和算法用到最多的领域,那就是数据库开发了。你可以思考下,mysql底层是如何存储你插入的信息,使得通过那些简单的sql语句就可以查出你想要的数据。还有就是他的索引是如何实现的。
如果你以后更多的接触后端,那么分布式存储,分布式计算,这些都要用到大量数据结构和算法的知识。
------解决方案--------------------
php 数组就是一个哈希表、?还真不晓得的、本质呢,那字符串是什么呢
------解决方案--------------------
你找本《深入php》看,都有说的
------解决方案--------------------
准确的说,是c语言的一个struct。由这个struct来实现的哈希表、堆栈、队列、向量等多种结构。这就是php底层的c语言实现。
------解决方案--------------------
这是内功
《被撞破了的脸孔》:“他打不过老头的,老头有内功!”

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

データ統合の簡素化:AmazonrdsmysqlとRedshiftのゼロETL統合効率的なデータ統合は、データ駆動型組織の中心にあります。従来のETL(抽出、変換、負荷)プロセスは、特にデータベース(AmazonrdsmysQlなど)をデータウェアハウス(Redshiftなど)と統合する場合、複雑で時間がかかります。ただし、AWSは、この状況を完全に変えたゼロETL統合ソリューションを提供し、RDSMYSQLからRedshiftへのデータ移行のための簡略化されたほぼリアルタイムソリューションを提供します。この記事では、RDSMysQl Zero ETLのRedshiftとの統合に飛び込み、それがどのように機能するか、それがデータエンジニアと開発者にもたらす利点を説明します。

MySQLがテーブル構造を変更すると、メタデータロックが通常使用され、テーブルがロックされる可能性があります。ロックの影響を減らすために、次の測定値をとることができます。1。オンラインDDLでテーブルを使用できます。 2。バッチで複雑な変更を実行します。 3.小規模またはオフピーク期間中に操作します。 4. PT-OSCツールを使用して、より細かい制御を実現します。

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

MySQLはAndroidで直接実行できませんが、次の方法を使用して間接的に実装できます。Androidシステムに構築されたLightWeight Database SQLiteを使用して、別のサーバーを必要とせず、モバイルデバイスアプリケーションに非常に適したリソース使用量が少ない。 MySQLサーバーにリモートで接続し、データの読み取りと書き込みのためにネットワークを介してリモートサーバー上のMySQLデータベースに接続しますが、強力なネットワーク依存関係、セキュリティの問題、サーバーコストなどの短所があります。

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。
