If transactions are changed in memory how miners know it? If Alice requests something to bob, then Alice sends her public key and Bob encrypts message by using Alice's key.

Bob uses his private key and hash function to make a signature.
After finishing this procedure, Bob sends encrypted message with signature.

At last, Alice decrypts message and put it in hash function and she compares output with decrypts signature.

This is what I understood about transaction.

But When transaction is waiting in memory If someone changes a content of signature by using bob's public key How miner know it is wrong signature?

To compare message with signature, miner needs Alice's private key. But miner doesn't have.

Is there other way to compare signature with encrypted message?
The process you described is not what happens in Bitcoin. It is loosely what happens with software like PGP which use public-key cryptography to provide various security benefits when sending e-mail messages.

In either case, you don't use a private-key to verify the integrity of the data-content.

In the case of something like PGP, the recipient can use the sender's public-key to determine whether the signature was produced by the corresponding private key from the received message contents.

In the case of Bitcoin, any bitcoin node can verify any transaction in the blockchain using only data in the blockchain. For details of the principles you could read Satoshi Nakamoto's original whitepaper or online resources such as


https://en.bitcoin.it/wiki/Transaction
http://learnmeabitcoin.com/guide/digital_signatures_signing_verifying